Skip to main content

Editing website content

This page covers the day-to-day editing of nutritionistpro.com in wp-admin: where the main menu lives, how the pages are built, where images come from, and how page titles are set. For server access and the site URL constants, see SSH access and WordPress configuration.

The docs site is not WordPress

Everything under nutritionistpro.com/docs is a separate Docusaurus site built from the Axxya-Systems/docs repo. It cannot be edited from wp-admin, and nothing in the WordPress install affects it. See Documentation.

The main menu​

The site navigation is a WordPress menu, managed under Appearance > Menus in wp-admin. To add, remove, rename, or reorder a link, edit the menu there and save it. The Divi theme renders whatever is assigned to the primary menu location, so the menu does not need to be touched in the theme or in the Divi Builder.

When adding a page that already exists in WordPress, pick it from the Pages panel on the left rather than adding a custom link, so the menu item follows the page if its slug changes. Use a custom link only for external URLs and for the docs site.

How pages are built​

Pages on the site use one of two editors, and it is worth checking which one a page uses before making changes:

  • The default WordPress editor with an HTML block. The page content is a single Custom HTML block holding hand-written markup. Edit the HTML directly in the block. These pages are quick to change and do not depend on Divi, but the markup is entirely manual.
  • The visual Divi editor. The page is built from Divi modules and is edited by launching the Divi Builder from the page edit screen or from the front end. Changes to these pages are made in the builder, not in the block editor.

A page that was built in Divi shows a Use Divi Builder or Edit with the Divi Builder button on the edit screen, and its block editor content is a Divi placeholder rather than real content. Do not edit that placeholder directly. Page-level Divi settings that do not require the builder, such as turning off the video sidebar, are covered in WordPress configuration.

Images​

Website images are uploaded to the WordPress Media Library (Media > Add New, or by uploading from within a page) and then inserted into pages from there. Do not link to images hosted elsewhere, and do not copy files onto the server by SSH; everything that appears on a page should exist in the Media Library so it has a stable URL under /wp-content/uploads/ and shows up in the image sitemap.

In an HTML block page, insert the image by copying its URL from the Media Library entry into the markup. In a Divi page, use the module's image picker, which opens the Media Library directly. Give each image a descriptive alt text in the Media Library so it is reused wherever the image appears.

Page titles and Yoast SEO​

The <title> tag for each page is generated by Yoast SEO, not by the WordPress page title. The default pattern is set under Yoast SEO > Settings > Content types > Pages, and it applies to every page that has not been overridden.

To customize an individual page's title, edit the page and scroll to the Yoast SEO panel at the bottom of the edit screen. The SEO title field there overrides the default pattern for that page only, and the same panel holds the meta description and the social preview. Changing the WordPress page title changes the H1 and the slug, but the browser tab and search result title come from the Yoast field.

Publishing a change​

The steps behind the overview of website changes.

1. Make the change and publish it​

Edit the page in the editor it was built with (see How pages are built), then select Update, or Publish for a new page. Open the live page in a private browser window to confirm the change is visible to visitors who are not signed in.

2. Check the sitemap​

Yoast SEO generates the sitemap and updates it when a page is saved, so it does not need to be regenerated by hand. To confirm, check that the page's lastmod date is the time of the change. Replace /pricing/ with the page's path:

curl -s https://nutritionistpro.com/page-sitemap.xml | grep -A1 '<loc>https://nutritionistpro.com/pricing/</loc>'

Blog posts are in post-sitemap.xml. A new page appears in the sitemap only when Yoast is set to show it in search results, which is the default.

If the date did not move, the sitemap is being served from Yoast's cache. Clear it as described in SSH access, or in wp-admin under Yoast SEO > Settings > Site features by turning XML sitemaps off, saving, then turning it on and saving again.

3. Check llms.txt​

Yoast SEO is not used for llms.txt

Yoast SEO has its own llms.txt feature, but it is not the one in use here. Yoast generates the sitemap only. Anything about llms.txt is handled on the plugin's screen under Tools > Llms.txt, not under Yoast SEO > Settings.

nutritionistpro.com/llms.txt lists the site's pages, posts, and videos for AI assistants. It is produced by the Website LLMs.txt plugin, and it is rebuilt when a page is saved. On 2026-09-24 it was rewritten 32 seconds after a page was updated. To confirm, check that its date is the time of the change:

curl -sI https://nutritionistpro.com/llms.txt | grep -i last-modified

Each entry carries a short summary of the page, so check that the entry for the changed page still reads well.

Regenerating llms.txt by hand​

Do this only when the date did not move, or the entry for the changed page is missing or out of date.

  1. In wp-admin, go to Tools > Llms.txt (the direct URL is https://nutritionistpro.com/wp-admin/tools.php?page=llms-file-manager).
  2. Check that the update frequency is set to Immediate. With Daily or Weekly, a change does not reach the file until the next scheduled run.
  3. Select Generate Now.
  4. Run the curl command above again and confirm the date is now.

If /llms.txt returns a 404, select Clear caches on the same screen, or re-save the permalinks under Settings > Permalinks, then select Generate Now again.

A page that is missing from the file after a regeneration has usually been left out on purpose. The plugin skips pages that Yoast SEO marks as noindex or nofollow, and the post types that are turned off on its settings screen. The Excluded content summary on that screen shows what was left out.

The button names are from version 8.6 of the plugin. If the screen looks different, check the version on the Plugins page.

4. Request indexing in Google Search Console​

Sign in with the Axxya account (see Google Search Console), paste the page URL into URL Inspection, and select Request Indexing. There is a quota of about ten requests per day, so use it for the pages that changed.

Do not resubmit the sitemap for a content change. It is already submitted, and resubmitting does not make Google crawl sooner. See How long changes take.

Reverting a change​

WordPress keeps the earlier versions of a page. On the page's edit screen, open Revisions, pick the version from before the change, and select Restore This Revision. Then repeat the checks above, because a restore is saved like any other change.

Link to the V3 hosts, never to the old V2 hosts nexgen1.nutritionistpro.com or nexgentrial.nutritionistpro.com, which only redirect to the front page and lose the path:

  • Shop: https://app.nutritionistpro.com/shop/our-packages. Product pages are https://app.nutritionistpro.com/shop/product-detail/<slug>; the live products are listed on the shop page. Per-region label products, the HIPAA Security Tool and Data Transfer no longer exist, so link those to the shop page.
  • Online trial sign-up: https://trial.nutritionistpro.com/register-trial
  • Trial login: https://trial.nutritionistpro.com/login

Public files such as PDFs and installers that are not website images go in the SharePoint public folder, not Box or Dropbox; see Public files.

When a page links to another site's page that no longer exists, and there is no replacement, remove the link but keep its text, and add "(link retired by host)" after it. Before deciding a link is dead, open it in a browser: several government and publisher sites (cdc.gov, canada.ca, mayoclinic.org, sciencedirect.com, bls.gov and others) refuse automated checks with a 403 or a timeout, and Facebook answers 400 to them, so a link checker reports them as broken when they work.

Changing a URL across the site​

A change to a URL that appears on many pages, such as an old host name, a moved file or a retired product, is made in the database with the Better Search Replace plugin (Tools > Better Search Replace), which is installed and kept inactive:

  1. Take a manual snapshot of the instance first; see Taking a manual snapshot.
  2. Activate the plugin.
  3. Run every search as a dry run first, and read the per-table counts under "Click here for more details". The free version shows counts only, not the rows.
  4. Select only the tables that hold content: wp_posts, wp_postmeta, wp_yoast_indexable, wp_yoast_seo_links, wp_gf_form_meta, wp_arp_arprice_options and wp_arplite_arprice_options. Leave out the log, analytics and entry tables (Redirection, WP Mail SMTP, wp_arp_arprice_analytics, wp_gf_entry and wp_gf_entry_meta), WP Rocket's tables (clearing the cache rebuilds them), and wp_options unless you know which option holds the URL. Leave Replace GUIDs unticked.
  5. Search for the most specific string that is unique to the old URL, such as the full address or a file name, so nothing else matches.
  6. Gravity Forms stores its confirmations and notifications as JSON with escaped slashes, so a URL there must be searched as https:\/\/example.com\/path and replaced the same way. Some Yoast and Divi data is stored the same way. Search for the escaped form too, in wp_gf_form_meta and wp_yoast_indexable, before deciding nothing is left.
  7. Run it for real only with the same settings as the dry run, and check the real count matches.
  8. Clear the Divi static CSS and the WP Rocket cache; see Hosting and deployment. The Divi CSS cache keeps old background image URLs until it is cleared, and it is rebuilt over the next few minutes, so a link check run straight afterwards can report its stylesheets as 404 for a while.
  9. Check the affected pages with the cache bypassed, and deactivate the plugin.

A page revision is not created by Better Search Replace, so the snapshot is the way back. For a change to a single link on a page, edit the page instead, which keeps a revision.

Two other places hold URLs outside the page content: the Divi theme options (Divi > Theme Options > General, for example the Logo setting) and the Gravity Forms confirmations and notifications (each form's Settings > Confirmations and Notifications).

If a page asks for a resized copy of an image that does not exist on the server (an -500x317-style file that returns 404), wp media regenerate <attachment id> --only-missing over SSH only rebuilds the sizes the theme and plugins currently register. When the size is no longer registered, point the page at an existing size with the same proportions, or at the original.

Freshsales trial snippets​

The desktop trial forms send their entries to Freshsales through a WPCode snippet, so editing a trial form can break the trial follow-up without any error on the website. Before you change the Diet Analysis Module or Menu Creation Module form, read Trial sources.