{"id":9140,"date":"2026-03-11T11:21:31","date_gmt":"2026-03-11T04:21:31","guid":{"rendered":"https:\/\/danielepais.com\/journal\/?p=9140"},"modified":"2026-03-11T11:23:52","modified_gmt":"2026-03-11T04:23:52","slug":"how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed","status":"publish","type":"post","link":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/","title":{"rendered":"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)"},"content":{"rendered":"<p>When writing long blog articles, especially guides, tutorials, or in-depth reviews, a\u00a0<strong>Table of Contents (TOC)<\/strong>\u00a0can significantly improve the reading experience. It allows visitors to quickly navigate the page and jump directly to the sections that interest them most.<\/p>\n<figure id=\"attachment_9143\" aria-describedby=\"caption-attachment-9143\" style=\"width: 850px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/ywAAAAAAQABAAACAUwAOw==\" fifu-lazy=\"1\" fifu-data-sizes=\"auto\" fifu-data-srcset=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/78552c5a90cd\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=75&h=0&c=0 75w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/86340ab279cd\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=100&h=0&c=0 100w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/3475c525feca\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=150&h=0&c=0 150w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/612a30211dae\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=240&h=0&c=0 240w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/7781bcf5f7e4\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=320&h=0&c=0 320w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/574664563cc5\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=500&h=0&c=0 500w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/9b64a8897360\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=640&h=0&c=0 640w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/3e4b1d86d917\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=800&h=0&c=0 800w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/43d1e25f19ff\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1024&h=0&c=0 1024w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/7266cf6d1f1a\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1280&h=0&c=0 1280w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/7e0d0cf4f385\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1600&h=0&c=0 1600w\" class=\"wp-image-9143 size-full\" title=\"How to Create an Automatic Table of Contents in Elementor\" fifu-data-src=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9Ib3ctdG8tQ3JlYXRlLWFuLUF1dG9tYXRpYy1UYWJsZS1vZi1Db250ZW50cy1pbi1FbGVtZW50b3IuanBn\/a2f20e82ee89\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140\" alt=\"How to Create an Automatic Table of Contents in Elementor\" width=\"850\" height=\"400\" \/><figcaption id=\"caption-attachment-9143\" class=\"wp-caption-text\"><a href=\"https:\/\/danielepais.com\/journal\/ip-cameras-how-to\/\">How to<\/a> Create an Automatic Table of Contents in Elementor<\/figcaption><\/figure>\n<p>However, many WordPress users encounter a limitation: the\u00a0<strong>Table of Contents widget in Elementor is only available in Elementor Pro<\/strong>, while most third-party TOC plugins <a href=\"https:\/\/danielepais.com\/journal\/add-a-new-layer-photoshop-daily-tips-shortcut-master\/\">add<\/a> unnecessary weight to the <a href=\"https:\/\/danielepais.com\/journal\/how-to-perform-appropriate-check-prior-to-launch-your-new-website\/\">website<\/a>.<\/p>\n<p>The good news is that there is a\u00a0<strong>simple, lightweight alternative<\/strong>. By using a small HTML widget and a short JavaScript script, you can automatically generate a Table of Contents from your article headings without installing any plugin.<\/p>\n<p>In this guide, you will learn how to create a\u00a0<strong>fully automatic Table of Contents in Elementor<\/strong>, using a clean and efficient solution that works perfectly even with the free version of Elementor.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_85 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-6a92952f22d32\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #18bc9c;color:#18bc9c\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #18bc9c;color:#18bc9c\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-6a92952f22d32\" checked aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Why_a_Table_of_Contents_Improves_SEO_and_Readability\" >Why a Table of Contents Improves SEO and Readability<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#The_Problem_with_Most_Table_of_Contents_Plugins\" >The Problem with Most Table of Contents Plugins<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#A_Lightweight_Solution_Using_an_HTML_Widget\" >A Lightweight Solution Using an HTML Widget<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Step_1_%E2%80%93_Add_an_HTML_Widget_in_Elementor\" >Step 1 \u2013 Add an HTML Widget in Elementor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Step_2_%E2%80%93_Paste_the_Table_of_Contents_Code\" >Step 2 \u2013 Paste the Table of Contents Code<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Step_3_%E2%80%93_Publish_the_Page\" >Step 3 \u2013 Publish the Page<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#How_the_Script_Works\" >How the Script Works<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Customizing_the_Table_of_Contents\" >Customizing the Table of Contents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Advantages_of_This_Approach\" >Advantages of This Approach<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#Final_Thoughts\" >Final Thoughts<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Why_a_Table_of_Contents_Improves_SEO_and_Readability\"><\/span>Why a Table of Contents Improves SEO and Readability<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>A Table of Contents is not only useful for readers; it can also contribute to better\u00a0<strong>user engagement and search engine optimization<\/strong>.<\/p>\n<p>When articles are long and structured with multiple sections, a TOC helps users quickly identify the content they need. Instead of scrolling through hundreds or thousands of words, they can simply click on the section title and jump directly to the relevant part of the page.<\/p>\n<p>This leads to several advantages:<\/p>\n<ul>\n<li>\n<p><strong>Improved user experience<\/strong>\u00a0because visitors can navigate the article easily<\/p>\n<\/li>\n<li>\n<p><strong>Lower bounce rate<\/strong>, as readers are more likely to stay on the page<\/p>\n<\/li>\n<li>\n<p><strong>Better readability<\/strong>, especially for guides and tutorials<\/p>\n<\/li>\n<li>\n<p><strong>Clearer content structure<\/strong>, which search engines can understand more easily<\/p>\n<\/li>\n<\/ul>\n<p>In some cases, search engines may even use structured headings to generate additional navigation links in search results, making the article more visible.<\/p>\n<p>For these reasons, a Table of Contents is often considered a\u00a0<strong>best practice for long-form content<\/strong>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"The_Problem_with_Most_Table_of_Contents_Plugins\"><\/span>The Problem with Most Table of Contents Plugins<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Many WordPress plugins offer Table of Contents functionality, but they often come with several drawbacks.<\/p>\n<p>Some plugins load additional stylesheets, scripts, and configuration panels that can slow down the website. Others introduce unnecessary complexity by adding multiple layout options, animations, or database queries that are not always needed.<\/p>\n<p>Common issues include:<\/p>\n<ul>\n<li>\n<p>increased page loading time<\/p>\n<\/li>\n<li>\n<p>additional plugin maintenance<\/p>\n<\/li>\n<li>\n<p>compatibility conflicts with themes or builders<\/p>\n<\/li>\n<li>\n<p>limited control over the generated structure<\/p>\n<\/li>\n<\/ul>\n<p>Another limitation is that\u00a0<strong>Elementor\u2019s built-in TOC widget requires Elementor Pro<\/strong>, which may not always be necessary if you only need a simple navigation system.<\/p>\n<p>Because of this, many developers and bloggers prefer\u00a0<strong>lightweight custom solutions<\/strong>.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"A_Lightweight_Solution_Using_an_HTML_Widget\"><\/span>A Lightweight Solution Using an HTML Widget<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Instead of relying on plugins, you can create an automatic Table of Contents using three simple components:<\/p>\n<ol>\n<li>\n<p>an\u00a0<strong>HTML widget in Elementor<\/strong><\/p>\n<\/li>\n<li>\n<p>a small\u00a0<strong>CSS style block<\/strong><\/p>\n<\/li>\n<li>\n<p>a short\u00a0<strong>JavaScript script<\/strong><\/p>\n<\/li>\n<\/ol>\n<p>The script scans the article content, detects headings such as\u00a0<strong>H2 and H3<\/strong>, and automatically generates a structured list of links.<\/p>\n<p>Each item in the list links directly to the corresponding section of the article. If a heading does not already have an ID, the script automatically creates one.<\/p>\n<p>The result is a\u00a0<strong>fully automatic Table of Contents<\/strong>\u00a0that updates itself whenever you add or <a href=\"https:\/\/danielepais.com\/journal\/how-to-modify-a-drupal-block-via-its-css\/\">modify<\/a> headings in your article.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_1_%E2%80%93_Add_an_HTML_Widget_in_Elementor\"><\/span>Step 1 \u2013 Add an HTML Widget in Elementor<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>First, open your blog post in Elementor.<\/p>\n<p>Inside the page layout, add an\u00a0<strong>HTML widget<\/strong>\u00a0in the position where you want the Table of Contents to appear. This is usually near the beginning of the article, just after the introduction.<\/p>\n<p>The HTML widget allows you to insert custom code that Elementor will render on the page.<\/p>\n<p>Once the widget is added, you are ready to insert the script.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Step_2_%E2%80%93_Paste_the_Table_of_Contents_Code\"><\/span>Step 2 \u2013 Paste the Table of Contents Code<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Inside the HTML widget, paste the complete code that generates the Table of Contents. This code contains the structure, styling, and JavaScript logic required to scan the headings and create the navigation list automatically.<\/p>\n<p>The script will:<\/p>\n<ul>\n<li>\n<p>search the article for\u00a0<strong>H2 and H3 headings<\/strong><\/p>\n<\/li>\n<li>\n<p>generate anchor links automatically<\/p>\n<\/li>\n<li>\n<p>build a hierarchical list<\/p>\n<\/li>\n<li>\n<p>enable smooth scrolling<\/p>\n<\/li>\n<li>\n<p>hide the TOC if no headings are found<\/p>\n<\/li>\n<\/ul>\n<p>Because everything runs directly in the browser, no additional plugins or backend configuration are required.<\/p>\n<div class=\"su-button-center\"><a href=\"https:\/\/danielepais.com\/journal\/free-downloads\/\" class=\"su-button su-button-style-3d su-button-wide\" style=\"color:#FFFFFF;background-color:#17BBA0;border-color:#139680;border-radius:10px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#FFFFFF;padding:8px 26px;font-size:20px;line-height:30px;border-color:#5dd0bd;border-radius:10px;text-shadow:none\"><i class=\"sui sui-crosshairs\" style=\"font-size:20px;color:#FFFFFF\"><\/i> DOWNLOAD THE SOURCE FILE FREE<small style=\"padding-bottom:8px;color:#FFFFFF\">FREE Table of Contents for Elementor<\/small><\/span><\/a><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Step_3_%E2%80%93_Publish_the_Page\"><\/span>Step 3 \u2013 Publish the Page<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>After pasting the code, simply publish or update the page.<\/p>\n<p>When the article loads, the script will automatically analyze the page content and generate the Table of Contents based on the headings it finds.<\/p>\n<p>If you later add or modify headings in the article, the Table of Contents will update automatically without any additional work.<\/p>\n<p>This makes the solution very convenient for bloggers who frequently update or expand their content.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"How_the_Script_Works\"><\/span>How the Script Works<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Although the code runs automatically, understanding its basic logic can be useful if you want to customize it.<\/p>\n<p>The script begins by scanning the article container and searching for\u00a0<strong>H2 and H3 headings<\/strong>. These headings typically represent the main sections and subsections of an article.<\/p>\n<p>For each heading found, the script performs several operations:<\/p>\n<p>First, it checks whether the heading already has an\u00a0<strong>ID attribute<\/strong>. If it does not, the script generates a unique ID based on the heading text.<\/p>\n<p>Next, it creates a corresponding\u00a0<strong>link element<\/strong>\u00a0that points to that ID.<\/p>\n<p>Finally, it organizes the links into a structured list where:<\/p>\n<ul>\n<li>\n<p>H2 headings become main items<\/p>\n<\/li>\n<li>\n<p>H3 headings appear as nested subsections<\/p>\n<\/li>\n<\/ul>\n<p>This hierarchical structure makes the Table of Contents easy to read and visually aligned with the structure of the article.<\/p>\n<p>The script also includes a small toggle button that allows readers to\u00a0<strong>show or hide the Table of Contents<\/strong>, keeping the page layout clean.<\/p>\n<figure id=\"attachment_9144\" aria-describedby=\"caption-attachment-9144\" style=\"width: 850px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/Elementor-HTML-widget-Table-of-content-closed.jpg\" data-rel=\"lightbox-image-0\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/ywAAAAAAQABAAACAUwAOw==\" fifu-lazy=\"1\" fifu-data-sizes=\"auto\" fifu-data-srcset=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/d1e2a2000fc3\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=75&h=0&c=0 75w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/1db9315f5688\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=100&h=0&c=0 100w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/4164b79407bb\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=150&h=0&c=0 150w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/96a803c04e59\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=240&h=0&c=0 240w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/dec071604e69\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=320&h=0&c=0 320w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/0ecafe14eaca\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=500&h=0&c=0 500w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/9a83f59567ae\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=640&h=0&c=0 640w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/3309ad67412c\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=800&h=0&c=0 800w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/baed29175661\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1024&h=0&c=0 1024w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/34a56d9cfed8\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1280&h=0&c=0 1280w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/1f8df2ba5215\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1600&h=0&c=0 1600w\" class=\"wp-image-9144 size-full\" title=\"\" fifu-data-src=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1jbG9zZWQuanBn\/68557b0658ac\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140\" alt=\"Elementor HTML widget Table of content closed\" width=\"850\" height=\"400\" \/><\/a><figcaption id=\"caption-attachment-9144\" class=\"wp-caption-text\">Elementor HTML widget Table of content closed<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Customizing_the_Table_of_Contents\"><\/span>Customizing the Table of Contents<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>One advantage of using a custom script is that it can easily be adapted to different needs.<\/p>\n<p>For example, you can modify the script to change which headings are included. If you prefer to display only main sections, you can configure the script to scan only\u00a0<strong>H2 headings<\/strong>.<\/p>\n<p>You can also adjust the design by modifying the CSS styles. Colors, spacing, borders, and fonts can all be changed to match the style of your website.<\/p>\n<p>Another useful option is the ability to\u00a0<strong>exclude certain sections<\/strong>\u00a0from the Table of Contents. For example, some bloggers prefer not to include sections like FAQ or Conclusion.<\/p>\n<p>This can be done by defining a small list of excluded titles that the script will ignore when building the navigation.<\/p>\n<p>Because everything is written in standard HTML, CSS, and JavaScript, the script can easily be customized even by users with basic coding knowledge.<\/p>\n<figure id=\"attachment_9141\" aria-describedby=\"caption-attachment-9141\" style=\"width: 850px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/Elementor-HTML-widget-Table-of-content-view-from-the-editing-page-in-elementor.jpg\" data-rel=\"lightbox-image-1\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/ywAAAAAAQABAAACAUwAOw==\" fifu-lazy=\"1\" fifu-data-sizes=\"auto\" fifu-data-srcset=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/2a6caa2021e1\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=75&h=0&c=0 75w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/46ab1b7612d1\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=100&h=0&c=0 100w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/e4447689df59\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=150&h=0&c=0 150w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/5653a342af58\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=240&h=0&c=0 240w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/360b8dec1d67\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=320&h=0&c=0 320w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/7bafd5fecf81\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=500&h=0&c=0 500w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/a764e994fee7\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=640&h=0&c=0 640w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/dc6e2601a4fa\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=800&h=0&c=0 800w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/8322009565f1\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1024&h=0&c=0 1024w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/7069c2bf9885\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1280&h=0&c=0 1280w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/ddd76fa3e168\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1600&h=0&c=0 1600w\" class=\"wp-image-9141 size-full\" title=\"\" fifu-data-src=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC12aWV3LWZyb20tdGhlLWVkaXRpbmctcGFnZS1pbi1lbGVtZW50b3IuanBn\/46952c6f0df7\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140\" alt=\"Elementor HTML widget Table of content view from the editing page in elementor\" width=\"850\" height=\"400\" \/><\/a><figcaption id=\"caption-attachment-9141\" class=\"wp-caption-text\">Elementor HTML widget Table of content view from the editing page in elementor<\/figcaption><\/figure> <figure id=\"attachment_9145\" aria-describedby=\"caption-attachment-9145\" style=\"width: 850px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/Elementor-HTML-widget-Table-of-content-open.jpg\" data-rel=\"lightbox-image-2\" data-rl_title=\"\" data-rl_caption=\"\"><img loading=\"lazy\" decoding=\"async\" src=\"data:image\/gif;base64,R0lGODlhAQABAIAAAAAAAP\/\/\/ywAAAAAAQABAAACAUwAOw==\" fifu-lazy=\"1\" fifu-data-sizes=\"auto\" fifu-data-srcset=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/92ec1ccf736d\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=75&h=0&c=0 75w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/71eb16e8edd7\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=100&h=0&c=0 100w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/b2ce22cc2587\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=150&h=0&c=0 150w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/aeab8385b616\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=240&h=0&c=0 240w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/3b2fda5be5af\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=320&h=0&c=0 320w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/bb1331a51b54\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=500&h=0&c=0 500w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/5d20b99c7c67\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=640&h=0&c=0 640w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/bd1326480351\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=800&h=0&c=0 800w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/fda936889299\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1024&h=0&c=0 1024w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/40bd30896ab0\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1280&h=0&c=0 1280w, https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/0514a931432d\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140&w=1600&h=0&c=0 1600w\" class=\"wp-image-9145 size-full\" title=\"\" fifu-data-src=\"https:\/\/wp.fifu.app\/danielepais.com\/aHR0cHM6Ly9kYW5pZWxlcGFpcy5jb20vam91cm5hbC93cC1jb250ZW50L3VwbG9hZHMvMjAyNi8wMy9FbGVtZW50b3ItSFRNTC13aWRnZXQtVGFibGUtb2YtY29udGVudC1vcGVuLmpwZw\/e0b9047ac009\/how-to-create-an-automatic-table-of-contents-in-elementor.webp?p=9140\" alt=\"Elementor HTML widget Table of content open\" width=\"850\" height=\"400\" \/><\/a><figcaption id=\"caption-attachment-9145\" class=\"wp-caption-text\">Elementor HTML widget Table of content open<\/figcaption><\/figure>\n<h2><span class=\"ez-toc-section\" id=\"Advantages_of_This_Approach\"><\/span>Advantages of This Approach<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Compared with traditional plugin solutions, this method offers several advantages.<\/p>\n<p>First, it is extremely\u00a0<strong>lightweight<\/strong>. The entire script is embedded directly in the page, meaning it does not require additional plugins or external resources.<\/p>\n<p>Second, it offers\u00a0<strong>full control over the output<\/strong>. You can adjust the structure, appearance, and behavior exactly as you prefer.<\/p>\n<p>Third, it improves\u00a0<strong>site performance<\/strong>\u00a0by avoiding unnecessary plugin overhead.<\/p>\n<p>Finally, it works perfectly with\u00a0<strong>Elementor Free<\/strong>, making it accessible to bloggers who do not need the advanced features of Elementor Pro.<\/p>\n<p>For many websites, this simple solution is more than enough to create a clean and effective Table of Contents.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Final_Thoughts\"><\/span>Final Thoughts<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Adding a Table of Contents to your blog articles is a simple improvement that can significantly enhance readability and navigation.<\/p>\n<p>For Elementor users, the lack of a built-in TOC widget in the free version often leads to installing additional plugins. However, as this guide shows, it is possible to achieve the same result using a lightweight custom solution.<\/p>\n<p>With just a small HTML widget and a short script, you can automatically generate a\u00a0<strong>dynamic Table of Contents that updates itself whenever your headings change<\/strong>.<\/p>\n<p>This approach keeps your website faster, cleaner, and easier to maintain while still providing readers with a professional navigation system.<\/p>\n<p>If you frequently publish long tutorials, guides, or technical articles, implementing a Table of Contents can be a simple yet powerful way to improve both\u00a0<strong>user experience and content structure<\/strong>.<\/p>\n<div class=\"su-button-center\"><a href=\"https:\/\/danielepais.com\/journal\/free-downloads\/\" class=\"su-button su-button-style-3d su-button-wide\" style=\"color:#FFFFFF;background-color:#17BBA0;border-color:#139680;border-radius:10px\" target=\"_blank\" rel=\"noopener noreferrer\"><span style=\"color:#FFFFFF;padding:8px 26px;font-size:20px;line-height:30px;border-color:#5dd0bd;border-radius:10px;text-shadow:none\"><i class=\"sui sui-crosshairs\" style=\"font-size:20px;color:#FFFFFF\"><\/i> DOWNLOAD THE SOURCE FILE FREE<small style=\"padding-bottom:8px;color:#FFFFFF\">FREE Table of Contents for Elementor<\/small><\/span><\/a><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.<\/p>\n","protected":false},"author":1,"featured_media":9143,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"fifu_image_url":"","fifu_image_alt":"","footnotes":""},"categories":[1128,949,562,233],"tags":[],"acf":[],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.8 - aioseo.com -->\n\t<meta name=\"description\" content=\"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Daniele Pais\"\/>\n\t<meta name=\"google-site-verification\" content=\"googleb91c9505ed997b99\" \/>\n\t<meta name=\"msvalidate.01\" content=\"AD1C96C338E051848BE08C67378B20CA\" \/>\n\t<meta name=\"keywords\" content=\"content creation,free downloads,web design,wordpress\" \/>\n\t<link rel=\"canonical\" href=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.8\" \/>\n\t\t<meta property=\"og:locale\" content=\"en_US\" \/>\n\t\t<meta property=\"og:site_name\" content=\"Daniele Pais Blog\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"Elementor Table of Contents Without Plugin (Step-by-Step)\" \/>\n\t\t<meta property=\"og:description\" content=\"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"850\" \/>\n\t\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-03-11T04:21:31+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-03-11T04:23:52+00:00\" \/>\n\t\t<meta name=\"twitter:card\" content=\"summary\" \/>\n\t\t<meta name=\"twitter:site\" content=\"@daniele_pais\" \/>\n\t\t<meta name=\"twitter:title\" content=\"Elementor Table of Contents Without Plugin (Step-by-Step)\" \/>\n\t\t<meta name=\"twitter:description\" content=\"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.\" \/>\n\t\t<meta name=\"twitter:image\" content=\"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2017\/10\/daniele-pais-digital-design.png\" \/>\n\t\t<script type=\"application\/ld+json\" class=\"aioseo-schema\">\n\t\t\t{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#article\",\"name\":\"Elementor Table of Contents Without Plugin (Step-by-Step)\",\"headline\":\"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)\",\"author\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/author\\\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\\\/#author\"},\"publisher\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/#person\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg\",\"width\":850,\"height\":400,\"caption\":\"How to Create an Automatic Table of Contents in Elementor\"},\"datePublished\":\"2026-03-11T11:21:31+07:00\",\"dateModified\":\"2026-03-11T11:23:52+07:00\",\"inLanguage\":\"en-US\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#webpage\"},\"isPartOf\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#webpage\"},\"articleSection\":\"Content Creation, Free Downloads, Web Design, Wordpress\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#breadcrumblist\",\"itemListElement\":[{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal#listItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/danielepais.com\\\/journal\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/#listItem\",\"name\":\"Web\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/#listItem\",\"position\":2,\"name\":\"Web\",\"item\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/wordpress\\\/#listItem\",\"name\":\"Wordpress\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal#listItem\",\"name\":\"Home\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/wordpress\\\/#listItem\",\"position\":3,\"name\":\"Wordpress\",\"item\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/wordpress\\\/\",\"nextItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#listItem\",\"name\":\"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)\"},\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/#listItem\",\"name\":\"Web\"}},{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#listItem\",\"position\":4,\"name\":\"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)\",\"previousItem\":{\"@type\":\"ListItem\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/category\\\/web\\\/wordpress\\\/#listItem\",\"name\":\"Wordpress\"}}]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/#person\",\"name\":\"Daniele Pais\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#personImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86bedf0ab24a6d4a4f32de230cc797ef?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Daniele Pais\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/author\\\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\\\/#author\",\"url\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/author\\\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\\\/\",\"name\":\"Daniele Pais\",\"image\":{\"@type\":\"ImageObject\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#authorImage\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/86bedf0ab24a6d4a4f32de230cc797ef?s=96&d=mm&r=g\",\"width\":96,\"height\":96,\"caption\":\"Daniele Pais\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#webpage\",\"url\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/\",\"name\":\"Elementor Table of Contents Without Plugin (Step-by-Step)\",\"description\":\"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.\",\"inLanguage\":\"en-US\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/#website\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#breadcrumblist\"},\"author\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/author\\\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\\\/#author\"},\"creator\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/author\\\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\\\/#author\"},\"image\":{\"@type\":\"ImageObject\",\"url\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/wp-content\\\/uploads\\\/2026\\\/03\\\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#mainImage\",\"width\":850,\"height\":400,\"caption\":\"How to Create an Automatic Table of Contents in Elementor\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\\\/#mainImage\"},\"datePublished\":\"2026-03-11T11:21:31+07:00\",\"dateModified\":\"2026-03-11T11:23:52+07:00\"},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/#website\",\"url\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/\",\"name\":\"Phuket Web Design\",\"description\":\"Digital Print\",\"inLanguage\":\"en-US\",\"publisher\":{\"@id\":\"https:\\\/\\\/danielepais.com\\\/journal\\\/#person\"}}]}\n\t\t<\/script>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"Elementor Table of Contents Without Plugin (Step-by-Step)","description":"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.","canonical_url":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/","robots":"max-image-preview:large","keywords":"content creation,free downloads,web design,wordpress","webmasterTools":{"google-site-verification":"googleb91c9505ed997b99","msvalidate.01":"AD1C96C338E051848BE08C67378B20CA","miscellaneous":""},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#article","name":"Elementor Table of Contents Without Plugin (Step-by-Step)","headline":"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)","author":{"@id":"https:\/\/danielepais.com\/journal\/author\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\/#author"},"publisher":{"@id":"https:\/\/danielepais.com\/journal\/#person"},"image":{"@type":"ImageObject","url":"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg","width":850,"height":400,"caption":"How to Create an Automatic Table of Contents in Elementor"},"datePublished":"2026-03-11T11:21:31+07:00","dateModified":"2026-03-11T11:23:52+07:00","inLanguage":"en-US","mainEntityOfPage":{"@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#webpage"},"isPartOf":{"@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#webpage"},"articleSection":"Content Creation, Free Downloads, Web Design, Wordpress"},{"@type":"BreadcrumbList","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#breadcrumblist","itemListElement":[{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal#listItem","position":1,"name":"Home","item":"https:\/\/danielepais.com\/journal","nextItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/#listItem","name":"Web"}},{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/#listItem","position":2,"name":"Web","item":"https:\/\/danielepais.com\/journal\/category\/web\/","nextItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/wordpress\/#listItem","name":"Wordpress"},"previousItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal#listItem","name":"Home"}},{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/wordpress\/#listItem","position":3,"name":"Wordpress","item":"https:\/\/danielepais.com\/journal\/category\/web\/wordpress\/","nextItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#listItem","name":"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)"},"previousItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/#listItem","name":"Web"}},{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#listItem","position":4,"name":"How to Create an Automatic Table of Contents in Elementor (No Plugin Needed)","previousItem":{"@type":"ListItem","@id":"https:\/\/danielepais.com\/journal\/category\/web\/wordpress\/#listItem","name":"Wordpress"}}]},{"@type":"Person","@id":"https:\/\/danielepais.com\/journal\/#person","name":"Daniele Pais","image":{"@type":"ImageObject","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#personImage","url":"https:\/\/secure.gravatar.com\/avatar\/86bedf0ab24a6d4a4f32de230cc797ef?s=96&d=mm&r=g","width":96,"height":96,"caption":"Daniele Pais"}},{"@type":"Person","@id":"https:\/\/danielepais.com\/journal\/author\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\/#author","url":"https:\/\/danielepais.com\/journal\/author\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\/","name":"Daniele Pais","image":{"@type":"ImageObject","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#authorImage","url":"https:\/\/secure.gravatar.com\/avatar\/86bedf0ab24a6d4a4f32de230cc797ef?s=96&d=mm&r=g","width":96,"height":96,"caption":"Daniele Pais"}},{"@type":"WebPage","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#webpage","url":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/","name":"Elementor Table of Contents Without Plugin (Step-by-Step)","description":"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.","inLanguage":"en-US","isPartOf":{"@id":"https:\/\/danielepais.com\/journal\/#website"},"breadcrumb":{"@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#breadcrumblist"},"author":{"@id":"https:\/\/danielepais.com\/journal\/author\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\/#author"},"creator":{"@id":"https:\/\/danielepais.com\/journal\/author\/_-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2-2--2\/#author"},"image":{"@type":"ImageObject","url":"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg","@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#mainImage","width":850,"height":400,"caption":"How to Create an Automatic Table of Contents in Elementor"},"primaryImageOfPage":{"@id":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/#mainImage"},"datePublished":"2026-03-11T11:21:31+07:00","dateModified":"2026-03-11T11:23:52+07:00"},{"@type":"WebSite","@id":"https:\/\/danielepais.com\/journal\/#website","url":"https:\/\/danielepais.com\/journal\/","name":"Phuket Web Design","description":"Digital Print","inLanguage":"en-US","publisher":{"@id":"https:\/\/danielepais.com\/journal\/#person"}}]},"og:locale":"en_US","og:site_name":"Daniele Pais Blog","og:type":"article","og:title":"Elementor Table of Contents Without Plugin (Step-by-Step)","og:description":"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.","og:url":"https:\/\/danielepais.com\/journal\/how-to-create-an-automatic-table-of-contents-in-elementor-no-plugin-needed\/","og:image":"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg","og:image:secure_url":"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2026\/03\/How-to-Create-an-Automatic-Table-of-Contents-in-Elementor.jpg","og:image:width":850,"og:image:height":400,"article:published_time":"2026-03-11T04:21:31+00:00","article:modified_time":"2026-03-11T04:23:52+00:00","twitter:card":"summary","twitter:site":"@daniele_pais","twitter:title":"Elementor Table of Contents Without Plugin (Step-by-Step)","twitter:description":"Learn how to create a lightweight automatic Table of Contents in Elementor using an HTML widget and JavaScript. No plugin required.","twitter:image":"https:\/\/danielepais.com\/journal\/wp-content\/uploads\/2017\/10\/daniele-pais-digital-design.png"},"aioseo_meta_data":{"post_id":"9140","title":"Elementor Table of Contents Without Plugin (Step-by-Step)","description":null,"keywords":null,"keyphrases":{"focus":{"keyphrase":"Table of Contents","score":100,"analysis":{"keyphraseInTitle":{"score":9,"maxScore":9,"error":0},"keyphraseInDescription":{"score":9,"maxScore":9,"error":0},"keyphraseLength":{"score":9,"maxScore":9,"error":0,"length":3},"keyphraseInURL":{"score":5,"maxScore":5,"error":0},"keyphraseInIntroduction":{"score":9,"maxScore":9,"error":0},"keyphraseInSubHeadings":{"score":9,"maxScore":9,"error":0},"keyphraseInImageAlt":{"score":9,"maxScore":9,"error":0},"keywordDensity":{"type":"best","score":9,"maxScore":9,"error":0}}},"additional":[]},"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":"","og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"Article","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":"-1","robots_max_videopreview":"-1","robots_max_imagepreview":"large","priority":null,"frequency":"default","location":null,"local_seo":null,"breadcrumb_settings":null,"limit_modified_date":false,"created":"2026-03-11 03:35:26","updated":"2026-03-11 04:35:36","ai":null,"seo_analyzer_scan_date":null},"_links":{"self":[{"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/posts\/9140"}],"collection":[{"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/comments?post=9140"}],"version-history":[{"count":4,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/posts\/9140\/revisions"}],"predecessor-version":[{"id":9153,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/posts\/9140\/revisions\/9153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/media\/9143"}],"wp:attachment":[{"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/media?parent=9140"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/categories?post=9140"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/danielepais.com\/journal\/wp-json\/wp\/v2\/tags?post=9140"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}