{"id":135120,"date":"2021-01-16T12:29:04","date_gmt":"2021-01-16T12:29:04","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/nutsforpress-indexing-and-seo\/"},"modified":"2026-08-25T10:21:29","modified_gmt":"2026-08-25T10:21:29","slug":"nutsforpress-indexing-and-seo","status":"publish","type":"plugin","link":"https:\/\/bg.wordpress.org\/plugins\/nutsforpress-indexing-and-seo\/","author":14052287,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.8.2","stable_tag":"2.8.2","tested":"7.1","requires":"5.3","requires_php":"7.0.0","requires_plugins":null,"header_name":"NutsForPress Indexing and SEO","header_author":"Christian Gatti","header_description":"NutsForPress Indexing and SEO is an essential tool for sending emails through SMTP, preventing email message from being marked as spam and redirected to junk email.","assets_banners_color":"333333","last_updated":"2026-08-25 10:21:29","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/www.paypal.com\/paypalme\/ChristianGatti","header_plugin_uri":"https:\/\/www.nutsforpress.com\/","header_author_uri":"https:\/\/profiles.wordpress.org\/christian-gatti\/","rating":0,"author_block_rating":0,"active_installs":100,"downloads":4758,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","changelog"],"tags":{"1.0":{"tag":"1.0","author":"Christian Gatti","date":"2021-01-16 12:28:55"},"1.1":{"tag":"1.1","author":"Christian Gatti","date":"2021-01-31 14:01:28"},"1.1.1":{"tag":"1.1.1","author":"Christian Gatti","date":"2021-02-03 18:36:29"},"1.1.2":{"tag":"1.1.2","author":"Christian Gatti","date":"2021-02-12 16:37:24"},"1.1.3":{"tag":"1.1.3","author":"Christian Gatti","date":"2021-02-13 11:40:26"},"1.1.4":{"tag":"1.1.4","author":"Christian Gatti","date":"2021-02-14 15:33:24"},"1.1.5":{"tag":"1.1.5","author":"Christian Gatti","date":"2021-05-21 13:03:06"},"1.2":{"tag":"1.2","author":"Christian Gatti","date":"2021-06-17 18:13:55"},"1.2.1":{"tag":"1.2.1","author":"Christian Gatti","date":"2021-07-09 16:47:41"},"1.2.2":{"tag":"1.2.2","author":"Christian Gatti","date":"2021-07-25 13:14:55"},"1.2.3":{"tag":"1.2.3","author":"Christian Gatti","date":"2021-09-15 15:42:00"},"1.3":{"tag":"1.3","author":"Christian Gatti","date":"2022-01-01 16:44:19"},"1.3.1":{"tag":"1.3.1","author":"Christian Gatti","date":"2022-02-18 17:26:28"},"1.3.2":{"tag":"1.3.2","author":"Christian Gatti","date":"2022-07-17 15:44:48"},"1.3.3":{"tag":"1.3.3","author":"Christian Gatti","date":"2022-07-17 15:44:48"},"1.3.4":{"tag":"1.3.4","author":"Christian Gatti","date":"2022-07-22 16:17:17"},"1.4":{"tag":"1.4","author":"Christian Gatti","date":"2022-11-04 17:24:53"},"1.5":{"tag":"1.5","author":"Christian Gatti","date":"2022-12-14 21:22:34"},"1.6":{"tag":"1.6","author":"Christian Gatti","date":"2023-03-19 10:23:20"},"1.7":{"tag":"1.7","author":"Christian Gatti","date":"2023-05-12 17:08:03"},"1.8":{"tag":"1.8","author":"Christian Gatti","date":"2023-08-04 16:01:36"},"1.9":{"tag":"1.9","author":"Christian Gatti","date":"2023-10-29 16:14:52"},"2.0":{"tag":"2.0","author":"Christian Gatti","date":"2024-04-20 10:57:47"},"2.1":{"tag":"2.1","author":"Christian Gatti","date":"2024-04-20 10:57:47"},"2.2":{"tag":"2.2","author":"Christian Gatti","date":"2024-06-15 13:38:01"},"2.3":{"tag":"2.3","author":"Christian Gatti","date":"2024-06-21 17:12:17"},"2.4":{"tag":"2.4","author":"Christian Gatti","date":"2024-11-16 12:36:35"},"2.5":{"tag":"2.5","author":"Christian Gatti","date":"2024-11-16 15:55:36"},"2.6":{"tag":"2.6","author":"Christian Gatti","date":"2024-12-15 17:01:52"},"2.7":{"tag":"2.7","author":"Christian Gatti","date":"2025-08-22 14:24:29"},"2.8":{"tag":"2.8","author":"Christian Gatti","date":"2025-10-11 10:36:23"},"2.8.1":{"tag":"2.8.1","author":"Christian Gatti","date":"2025-12-06 10:10:58"},"2.8.2":{"tag":"2.8.2","author":"Christian Gatti","date":"2026-08-25 10:21:29"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":2457531,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":2457531,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":2457531,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":2457531,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.1","1.1.1","1.1.2","1.1.3","1.1.4","1.1.5","1.2","1.2.1","1.2.2","1.2.3","1.3","1.3.1","1.3.2","1.3.3","1.3.4","1.4","1.5","1.6","1.7","1.8","1.9","2.0","2.1","2.2","2.3","2.4","2.5","2.6","2.7","2.8","2.8.1","2.8.2"],"block_files":[],"assets_screenshots":[],"screenshots":[]},"plugin_section":[],"plugin_tags":[239487,194703,6487,186,1557],"plugin_category":[55],"plugin_contributors":[93676],"plugin_business_model":[],"class_list":["post-135120","plugin","type-plugin","status-publish","hentry","plugin_tags-llms","plugin_tags-nutsforpress","plugin_tags-open-graph","plugin_tags-seo","plugin_tags-sitemap","plugin_category-seo-and-marketing","plugin_contributors-christian-gatti","plugin_committers-christian-gatti"],"banners":{"banner":"https:\/\/ps.w.org\/nutsforpress-indexing-and-seo\/assets\/banner-772x250.png?rev=2457531","banner_2x":"https:\/\/ps.w.org\/nutsforpress-indexing-and-seo\/assets\/banner-1544x500.png?rev=2457531","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/nutsforpress-indexing-and-seo\/assets\/icon-128x128.png?rev=2457531","icon_2x":"https:\/\/ps.w.org\/nutsforpress-indexing-and-seo\/assets\/icon-256x256.png?rev=2457531","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p><em>Indexing and SEO<\/em> is one of several NutsForPress plugins that provide essential features not included in WordPress or available only in part.<\/p>\n\n<p><em>Indexing and SEO<\/em> allows you to:<\/p>\n\n<ul>\n<li>define custom SEO titles and descriptions for public post types and manage them through the WordPress editor or REST API<\/li>\n<li>enhance content sharing on social networks: featured images, titles, and descriptions are automatically included through Facebook Open Graph and Twitter Card tags<\/li>\n<li>set a backup image for posts and pages without a featured image<\/li>\n<li>replace the default WordPress sitemap with a more complete, customizable version that is automatically generated and fully compatible with WPML<\/li>\n<li>automatically generate an <code>llms.txt<\/code> file to improve communication with Large Language Models (LLMs) and extend the visibility of your content beyond traditional search engines<\/li>\n<li>apply \"noindex\" to content that you do not want search engines to index<\/li>\n<li>automatically fill the description, caption, and alternative text fields for uploaded media files<\/li>\n<li>bulk rebuild the description, caption, and alternative text fields for media files<\/li>\n<li>add Analytics and other custom scripts to the head, body, or footer and prevent them from loading while a logged-in administrator browses the website<\/li>\n<\/ul>\n\n<p>Indexing and SEO is fully compatible with WPML; plugin option values do not need to be translated.<\/p>\n\n<p>Take a look at the other <a href=\"https:\/\/wordpress.org\/plugins\/search\/nutsforpress\/\">NutsForPress plugins<\/a>.<\/p>\n\n<p><strong>Whatever is worth doing at all is worth doing well<\/strong><\/p>\n\n<h3>REST API<\/h3>\n\n<p>Version 2.8.2 makes the following post metadata available through the standard WordPress REST API:<\/p>\n\n<ul>\n<li><code>_nfpndx_meta_title<\/code>: the custom SEO title<\/li>\n<li><code>_nfpndx_meta_description<\/code>: the custom SEO description<\/li>\n<li><code>_nfpndx_meta_title_blogname<\/code>: whether the site name is appended to the SEO title (<code>\"1\"<\/code> to append it or <code>\"0\"<\/code> not to append it)<\/li>\n<\/ul>\n\n<p>The metadata can be read and written through the <code>meta<\/code> property of REST API requests and responses. The authenticated user must have permission to edit the target content.<\/p>\n\n<p>For example, the following JSON can be included when creating or updating a post through <code>\/wp-json\/wp\/v2\/posts<\/code>:<\/p>\n\n<pre><code>{\n  \"title\": \"Article title\",\n  \"content\": \"Article content\",\n  \"meta\": {\n    \"_nfpndx_meta_title\": \"Custom SEO title\",\n    \"_nfpndx_meta_description\": \"Custom SEO description\",\n    \"_nfpndx_meta_title_blogname\": \"0\"\n  }\n}\n<\/code><\/pre>\n\n<p>The plugin registers these fields for every public post type. A custom post type must also be exposed through the REST API and support <code>custom-fields<\/code> for the metadata to be available through its endpoint.<\/p>\n\n<h3>Translations<\/h3>\n\n<ul>\n<li>English: default language<\/li>\n<li>Italian: fully translated<\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<ul>\n<li>Many thanks to <a href=\"https:\/\/www.dkr.srl\/\">DkR<\/a> and <a href=\"https:\/\/www.sviluppoeuropa.it\/\">SviluppoEuropa<\/a>!<\/li>\n<\/ul>\n\n<!--section=installation-->\n<h4>Installation from the Plugin Directory<\/h4>\n\n<ul>\n<li>In the WordPress administration area, go to <em>Plugins &gt; Add New Plugin<\/em><\/li>\n<li>Search for \"NutsForPress\"<\/li>\n<li>Find <em>NutsForPress Indexing and SEO<\/em>, click <em>Install Now<\/em>, and then click <em>Activate<\/em><\/li>\n<li>Configure the plugin from the <em>NutsForPress<\/em> menu<\/li>\n<li>Enjoy!<\/li>\n<\/ul>\n\n<h4>Manual Installation<\/h4>\n\n<ul>\n<li>Download <em>NutsForPress Indexing and SEO<\/em> from https:\/\/wordpress.org\/plugins\/nutsforpress-indexing-and-seo\/<\/li>\n<li>In the WordPress administration area, go to <em>Plugins &gt; Add New Plugin<\/em> and click <em>Upload Plugin<\/em><\/li>\n<li>Choose the <code>nutsforpress-indexing-and-seo.zip<\/code> file from your download folder<\/li>\n<li>Click <em>Install Now<\/em><\/li>\n<li>Activate <em>NutsForPress Indexing and SEO<\/em><\/li>\n<li>Configure the plugin from the <em>NutsForPress<\/em> menu<\/li>\n<li>Enjoy!<\/li>\n<\/ul>\n\n<!--section=changelog-->\n<h4>2.8.2<\/h4>\n\n<ul>\n<li>Added REST API read and write support for SEO titles, SEO descriptions, and the option to append the site name<\/li>\n<li>Added REST API support for all public post types that expose custom fields through REST<\/li>\n<li>Tested with WordPress 7.0<\/li>\n<li>Reviewed and corrected the plugin documentation<\/li>\n<\/ul>\n\n<h4>2.8.1<\/h4>\n\n<ul>\n<li>Added the llms.txt link to robots.txt<\/li>\n<\/ul>\n\n<h4>2.8<\/h4>\n\n<ul>\n<li>Added automatic llms.txt generation to improve communication with Large Language Models<\/li>\n<\/ul>\n\n<h4>2.7<\/h4>\n\n<ul>\n<li>Introduced a new sitemap generation method that supports very large websites (tested with 30,000 pages)<\/li>\n<\/ul>\n\n<h4>2.6<\/h4>\n\n<ul>\n<li>Fixed a bug (introduced in the 2.4 release) that caused the title tag to initially be set to \"auto draft\"<\/li>\n<\/ul>\n\n<h4>2.5<\/h4>\n\n<ul>\n<li>Fixed a bug that caused incorrect character counting for titles and descriptions<\/li>\n<li>Fixed a bug (introduced in the 2.4 release) that displayed the wrong title in the title tag<\/li>\n<li>Added a more intuitive color-coded indicator for checking title and description lengths<\/li>\n<\/ul>\n\n<h4>2.4<\/h4>\n\n<ul>\n<li>Fixed an issue caused by WordPress 6.7 that prevented the sitemap from being displayed correctly<\/li>\n<li>Disabled the meta description generated by the Hello theme when the plugin's title and description feature is active, preventing duplicate meta description tags<\/li>\n<li>Added support for inheriting titles and descriptions from Yoast SEO, allowing Yoast SEO to be disabled without losing existing metadata<\/li>\n<\/ul>\n\n<h4>2.3<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented some WPML-translated pages from being included in the sitemap<\/li>\n<\/ul>\n\n<h4>2.2<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented the \"Skip empty terms\" option from taking effect in the sitemap<\/li>\n<\/ul>\n\n<h4>2.1<\/h4>\n\n<ul>\n<li>Fixed a bug that duplicated sitemap pages when WPML was active<\/li>\n<li>Fixed a bug that prevented product categories from displaying the meta description tag<\/li>\n<\/ul>\n\n<h4>2.0<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented pages and posts created before the plugin was installed from being added to the sitemap<\/li>\n<\/ul>\n\n<h4>1.9<\/h4>\n\n<ul>\n<li>Removed the global-style dequeueing function introduced in version 1.3.3 because it caused problems with WordPress 6.4<\/li>\n<\/ul>\n\n<h4>1.8<\/h4>\n\n<ul>\n<li>Fixed a bug that added noindex pages to the sitemap<\/li>\n<li>Fixed a bug that added some public custom post types to the sitemap even when they were not publicly queryable or were excluded from search<\/li>\n<\/ul>\n\n<h4>1.7<\/h4>\n\n<ul>\n<li>Fixed a bug that reset the plugin options when WPML was installed and activated after the plugin had been configured<\/li>\n<li>When the website homepage and posts page are the same, the title and meta description now use the site name and tagline configured in WordPress<\/li>\n<\/ul>\n\n<h4>1.6<\/h4>\n\n<ul>\n<li>Tested up to WordPress 6.2<\/li>\n<\/ul>\n\n<h4>1.5<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented the WooCommerce shop page title and description from being handled correctly<\/li>\n<\/ul>\n\n<h4>1.4<\/h4>\n\n<ul>\n<li>Moved translations from the plugin package to translate.wordpress.org<\/li>\n<\/ul>\n\n<h4>1.3.4<\/h4>\n\n<ul>\n<li>Added support for custom scripts in the body and footer<\/li>\n<\/ul>\n\n<h4>1.3.3<\/h4>\n\n<ul>\n<li>Added options to prevent selected WordPress scripts and styles from being enqueued, including emoji, global styles, and the main block editor stylesheet<\/li>\n<\/ul>\n\n<h4>1.3.2<\/h4>\n\n<ul>\n<li>Prevented the <code>jet-menu<\/code> post type used by JetElements Mega Menu from being added to the sitemap<\/li>\n<\/ul>\n\n<h4>1.3.1<\/h4>\n\n<ul>\n<li>Added options to the \"Replace Sitemap\" feature for building a more complete and accurate sitemap<\/li>\n<\/ul>\n\n<h4>1.3<\/h4>\n\n<ul>\n<li>Moved the SEO features from the discontinued \"NutsForPress Images and Media\" plugin into \"NutsForPress Indexing and SEO\"<\/li>\n<\/ul>\n\n<h4>1.2.3<\/h4>\n\n<ul>\n<li>Added an option to omit custom head scripts while an administrator is logged in, which can be used as an Analytics filter<\/li>\n<\/ul>\n\n<h4>1.2.2<\/h4>\n\n<ul>\n<li>Fixed an escaping error in a CSS rule that caused hidden option messages to be displayed<\/li>\n<\/ul>\n\n<h4>1.2.1<\/h4>\n\n<ul>\n<li>Fixed a bug that displayed URLs in option descriptions as HTML code instead of clickable links<\/li>\n<\/ul>\n\n<h4>1.2<\/h4>\n\n<ul>\n<li>Updated the shared NutsForPress root component to support an additional plugin<\/li>\n<li>Improved security by escaping output variables<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Added a CSS rule to prevent the title and description column from being squeezed in the WooCommerce product table on small screens<\/li>\n<\/ul>\n\n<h4>1.1.4<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented local options from being saved when WPML was not active<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Fixed an incorrect 404 header that prevented the sitemap from being retrieved<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Fixed a bug that prevented the backup featured image from being used in Facebook Open Graph and Twitter Card tags<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Added support for Analytics and other custom head scripts<\/li>\n<\/ul>\n\n<h4>1.1<\/h4>\n\n<ul>\n<li>Added a small style enhancement and minor bug fixes<\/li>\n<\/ul>\n\n<h4>1.0<\/h4>\n\n<ul>\n<li>First fully functional release<\/li>\n<\/ul>","raw_excerpt":"NutsForPress Indexing and SEO is a simple, lightweight plugin that improves site indexing and helps with search engine optimization.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/135120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=135120"}],"author":[{"embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/christian-gatti"}],"wp:attachment":[{"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=135120"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=135120"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=135120"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=135120"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=135120"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/bg.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=135120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}