{"id":366705,"date":"2026-09-10T10:21:48","date_gmt":"2026-09-10T10:21:48","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/ecorp-aio\/"},"modified":"2026-09-10T13:45:57","modified_gmt":"2026-09-10T13:45:57","slug":"ecorp-aio","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/ecorp-aio\/","author":23539999,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.1.0","stable_tag":"1.1.0","tested":"7.1","requires":"6.0","requires_php":"8.0","requires_plugins":null,"header_name":"E-CORP ALL IN ONE","header_author":"ECORP","header_description":"Regroupe le maillage interne, un cache de pages et un audit SEO dans une seule extension. Chaque module s'active s\u00e9par\u00e9ment.","assets_banners_color":"dddbe7","last_updated":"2026-09-10 13:45:57","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/ecorp-aio","header_author_uri":"https:\/\/ecorp-agency.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":87,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"ecorpagency","date":"2026-09-10 10:21:32","revision":3689719},"1.0.1":{"tag":"1.0.1","author":"ecorpagency","date":"2026-09-10 12:08:42","revision":3689865},"1.1.0":{"tag":"1.1.0","author":"ecorpagency","date":"2026-09-10 13:45:57","revision":3689998}},"upgrade_notice":{"1.1.0":"<p>The SEO module now writes three values per post and prints them in the page head. It steps aside when another SEO plugin is installed.<\/p>","1.0.1":"<p>Link fix only. No functional change.<\/p>","1.0.0":"<p>First release. Settings from ECORP Internal Links are imported automatically.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3689717,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3689717,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.jpg":{"filename":"banner-1544x500.jpg","revision":3689717,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.jpg":{"filename":"banner-772x250.jpg","revision":3689717,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.1.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3689717,"resolution":"1","location":"assets","locale":"","width":1000,"height":620},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3689717,"resolution":"2","location":"assets","locale":"","width":1000,"height":620},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3689992,"resolution":"3","location":"assets","locale":"","width":1000,"height":620},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3689717,"resolution":"4","location":"assets","locale":"","width":1000,"height":620}},"screenshots":{"1":"The welcome screen, where each module is enabled.","2":"Internal linking rules.","3":"The SEO panel of a post.","4":"Cache status and loading options."}},"plugin_section":[],"plugin_tags":[146,37125,6681,247,186],"plugin_category":[52,54],"plugin_contributors":[274328],"plugin_business_model":[],"class_list":["post-366705","plugin","type-plugin","status-publish","hentry","plugin_tags-cache","plugin_tags-interlinking","plugin_tags-internal-links","plugin_tags-performance","plugin_tags-seo","plugin_category-performance","plugin_category-security-and-spam-protection","plugin_contributors-ecorpagency","plugin_committers-ecorpagency"],"banners":{"banner":"https:\/\/ps.w.org\/ecorp-aio\/assets\/banner-772x250.jpg?rev=3689717","banner_2x":"https:\/\/ps.w.org\/ecorp-aio\/assets\/banner-1544x500.jpg?rev=3689717","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/ecorp-aio\/assets\/icon-128x128.png?rev=3689717","icon_2x":"https:\/\/ps.w.org\/ecorp-aio\/assets\/icon-256x256.png?rev=3689717","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/ecorp-aio\/assets\/screenshot-1.png?rev=3689717","caption":"The welcome screen, where each module is enabled."},{"src":"https:\/\/ps.w.org\/ecorp-aio\/assets\/screenshot-2.png?rev=3689717","caption":"Internal linking rules."},{"src":"https:\/\/ps.w.org\/ecorp-aio\/assets\/screenshot-3.png?rev=3689992","caption":"The SEO panel of a post."},{"src":"https:\/\/ps.w.org\/ecorp-aio\/assets\/screenshot-4.png?rev=3689717","caption":"Cache status and loading options."}],"raw_content":"<!--section=description-->\n<p>E-CORP ALL IN ONE brings together three site maintenance tools that usually\nrequire three separate plugins. Each module is enabled from the welcome screen,\nand an unchecked module loads no code at all.<\/p>\n\n<p>Internal linking and the cache work at render time, and disabling either one\nreturns the site to its previous state. The SEO module is the exception: it\nstores three values per post and prints them in the page head, so a site that\ndisables it loses those from its pages. What was typed is kept in the database\nand comes back when the module is enabled again.<\/p>\n\n<p><strong>The admin interface of this plugin is in French.<\/strong><\/p>\n\n<h4>Internal linking<\/h4>\n\n<p>You define a list of rules mapping a keyword to a URL. On display, each keyword\nbecomes a link to its target. The content stored in the database is never\nmodified.<\/p>\n\n<ul>\n<li>A keyword is linked on its first occurrence only.<\/li>\n<li>A cap limits how many links are inserted per post.<\/li>\n<li>A post never links to itself.<\/li>\n<li>Links can open in a new tab, or carry a <code>rel=\"nofollow\"<\/code>.<\/li>\n<li>Only the post types you enable are processed.<\/li>\n<\/ul>\n\n<p>No link is ever inserted inside an existing anchor, a heading, a script, a\nstyle block, a code block, a form control, an iframe, an SVG, an HTML comment,\nor any HTML attribute.<\/p>\n\n<h4>Cache<\/h4>\n\n<p>Rendered pages are served as-is to logged-out visitors. Publishing or editing a\npost clears the cache.<\/p>\n\n<ul>\n<li>A logged-in visitor always gets the real page.<\/li>\n<li>Search, account, cart and checkout pages are never cached.<\/li>\n<li>The screen shows the number of entries, their weight and the age of the oldest one.<\/li>\n<li>Four optional loading tweaks, all disabled by default.<\/li>\n<li>A cleanup of post revisions and expired transients, on manual action only.<\/li>\n<\/ul>\n\n<p>The module writes no file outside its own uploads directory, and never touches\n    wp-config.php.<\/p>\n\n<h4>SEO<\/h4>\n\n<p>The writer fills in three values on any post they may edit: an SEO title, a\ndescription, and a checkbox that keeps the page out of search engines. The\nmodule prints those in the page head, and nothing else. A page kept out of the\nindex also leaves the sitemap WordPress produces.<\/p>\n\n<p>What the module does not do is part of the design: no structured data, no Open\nGraph or Twitter cards, no breadcrumbs, no redirects, and no sitemap of its\nown. That is where SEO plugins become heavy, and none of it is needed to write\na page well.<\/p>\n\n<p>It also reads the rendered post and lists what it lacks, sorted into three\nseverities. Each post carries a state in one of three values, never a number,\nand a check that does not apply to a page is set aside there, on that page\nonly.<\/p>\n\n<p>Fourteen checks: missing title or title outside the bounds, missing\ndescription, missing or duplicated first level heading, skipped heading level,\ncontent below the word count, images without alternative text, images above the\nweight, no incoming internal link, a site-wide noindex, content missing from the\nsitemap, and four on the optional target keyphrase.<\/p>\n\n<p>Settings pages are gone from this module: the four thresholds are fixed in the\ncode, and a documented filter moves them on the rare site that needs it.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate the plugin.<\/li>\n<li>The welcome screen opens. Check the modules you want.<\/li>\n<li>Each active module adds its submenu under E-CORP AIO.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"do%20i%20have%20to%20enable%20all%20three%20modules%3F\"><h3>Do I have to enable all three modules?<\/h3><\/dt>\n<dd><p>No. Each module is enabled separately, and an unchecked module loads no code.\nYou can run just one.<\/p><\/dd>\n<dt id=\"does%20internal%20linking%20modify%20my%20posts%3F\"><h3>Does internal linking modify my posts?<\/h3><\/dt>\n<dd><p>No. Everything happens at render time. Disabling the module removes every\ngenerated link, leaving no trace in the database.<\/p><\/dd>\n<dt id=\"is%20the%20cache%20compatible%20with%20another%20caching%20plugin%3F\"><h3>Is the cache compatible with another caching plugin?<\/h3><\/dt>\n<dd><p>Keep only one. This module drops no <code>advanced-cache.php<\/code> and does not touch\n    wp-config.php, so it will not clash on load, but two stacked caches make any\ndiagnosis impossible.<\/p><\/dd>\n<dt id=\"does%20the%20seo%20module%20replace%20yoast%20or%20rank%20math%3F\"><h3>Does the SEO module replace Yoast or Rank Math?<\/h3><\/dt>\n<dd><p>It covers the part of their work that a writer needs day to day, and stops\nthere. If Yoast, Rank Math, SEOPress or All in One SEO is installed, the module\ndetects it, prints nothing at all, and says so on its screen: two plugins\nwriting the same title would fight over the same filter. It keeps auditing, and\nreads the values held by the plugin in place.<\/p><\/dd>\n<dt id=\"can%20the%20database%20cleanup%20run%20on%20its%20own%3F\"><h3>Can the database cleanup run on its own?<\/h3><\/dt>\n<dd><p>No. Nothing is scheduled. The count is shown, you confirm, and nothing happens\nwithout that.<\/p><\/dd>\n<dt id=\"what%20happens%20to%20the%20ecorp%20internal%20links%20plugin%3F\"><h3>What happens to the ECORP Internal Links plugin?<\/h3><\/dt>\n<dd><p>It is no longer maintained. Its linking engine is carried over here unchanged,\nand your rules are imported automatically on first load.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20available%20in%20english%3F\"><h3>Is the plugin available in English?<\/h3><\/dt>\n<dd><p>The interface is in French. The code is fully internationalized, so an English\ntranslation can be added without any code change.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>The SEO module now writes an SEO title, a description and a per-post noindex, and prints them in the page head.<\/li>\n<li>A panel in the block editor carries the fields, the target keyphrase, the state and the checks, and reacts as you type.<\/li>\n<li>A search result preview, and a button that drafts a description from the opening sentences.<\/li>\n<li>Each post carries a state in one of three values; a check that does not apply is set aside on that page.<\/li>\n<li>Four checks on an optional target keyphrase. No density, no percentage, no occurrence count.<\/li>\n<li>The module steps aside when Yoast, Rank Math, SEOPress or All in One SEO is installed.<\/li>\n<li>The four thresholds left the settings screen and are fixed in the code, behind a filter.<\/li>\n<li>The module screen lists every post with its state, so you know where to start.<\/li>\n<li>One click takes over the titles, descriptions, noindex and keyphrases already stored by Yoast or Rank Math, without overwriting anything you wrote here.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>The plugin homepage now points to this directory listing.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>First release.<\/li>\n<li>Internal linking module, carried over from ECORP Internal Links along with its rules.<\/li>\n<li>Cache module: page serving, purging, loading tweaks, database cleanup.<\/li>\n<li>SEO audit module: ten checks, read only.<\/li>\n<\/ul>","raw_excerpt":"Internal linking, a page cache and SEO in a single plugin. Each module is enabled separately. French interface.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/366705","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=366705"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/ecorpagency"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=366705"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=366705"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=366705"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=366705"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=366705"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=366705"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}