Whenever someone puts up a “What’s the best SEO plugin?” In polls conducted within SEO-focused communities, SEOPress is typically the top recommendation, and I agree. SEOPress is a fast and powerful SEO plugin for WordPress to improve your ranking and your traffic.
⚡SEOPress is part of the solution stack that powers my businesses.
If you already have an SEO plugin installed, no worries. SEOPress includes a simple onboarding wizard, so you can easily migrate away from other SEO plugins.
This guide will teach you how to set up SEOPress for MyListing websites.
Key Takeaways
- Configure SEOPress for MyListing by completing the onboarding wizard, then disable unused modules to keep the plugin lightweight.
- Noindex low-value post types, archives, and taxonomies (example: MailPoet items, tag formats, and product shipping classes) to protect crawl budget.
- Use a listing meta description template that pulls structured fields (title, listing type, region, site name) instead of the first characters of user-written descriptions.
- Use SEOPress Instant Indexing only for true job postings that include
JobPostingstructured data, not for general directory listings. - Include the listing post type and SEO landing page taxonomies (categories, regions, and author archives if used) in XML sitemaps, and keep everything else out.
Install and Activate SEOPress
- WordPress Dashboard > Plugins > Add Plugin > Install and activate the free version of SEOPress but don’t take any other steps yet
- WordPress Dashboard > Plugins > Add Plugin > Upload Plugin > Install and activate SEOPress Pro
- WordPress Dashboard > Plugins > Click the Activate your license link under the SEOPress Pro plugin
Complete the SEOPress Onboarding Wizard
- WordPress Dashboard > SEO > Dashboard
- Configure Your SEO > Click the Setup in 5 mins! button to start the onboarding wizard
- Click the Here we go! button to start the onboarding wizard
Step 1 – Welcome
Import Metadata (Optional)
Only complete the steps below if your site currently has an SEO plugin other than SEOPress installed. If it doesn’t apply to you, simply click the Next Step button.
- Select your current SEO plugin from the list
- Click Migrate Now
- Follow any provided instructions
Step 2 – Your Site
General
- Person or Organization > Make the best section
- Your Name/Organization > Enter according to what you chose in the previous step
- Your Photo/Organization logo > Add your image by following the provided guidelines
- Optionally fill in the phone number and VAT ID fields
- Click Save & Continue
Social Accounts
- Provide the information for your social accounts
- Click Save & Continue
Step 3 – Indexing
There are some post types, archives, and taxonomies that shouldn’t be indexed, as they hold no SEO value and use up crawl budget, and there are others that shouldn’t be indexed unless you’re willing to create SEO-optimized pages for them.
Check the boxes for any of the items below you encounter to disable them and click Save & Continue.
Post Types
- Floating Elements
[e-floating-buttons] - Emails
[mailpoet_email] - MailPoet Page
[mailpoet_page]
Archives
- Floating Elements
[e-floating-buttons] - Emails
[mailpoet_email] - MailPoet Page
[mailpoet_page] - Author Archives (Keep disabled unless multiple authors will be posting content to your website)
Taxonomies
- Formats
[post_format] - Tags [case27_job_listing_tags]
- Brands
- Product Tags
[product_tag] - Product Shipping Classes
[product_shipping_class] - Custom Taxonomies (Disable unless they are critical to the SEO of your website and you’re willing to create SEO-optimized pages for them)
Step 4 – Advanced Options
Advanced
Whenever you upload a media file to your website, WordPress automatically generates a new “attachment” page for that file. The generated page has such thin content that it can hurt your SEO. We enable the setting below to address this issue.
- Redirect attachment pages to their file URL > Enable and click Save & Continue twice
We have successfully completed the onboarding wizard. Let’s go to the SEOPress dashboard (WordPress Dashboard > SEO > Dashboard) to continue with the rest of the guide.
Disabling Certain SEOPress Modules
Dashboard
WordPress Dashboard > SEO > Dashboard
Disable the following options:
- Analytics
- Instant Indexing (Unless you have job listings with the proper schema assigned)
- Redirections / 404 Monitoring
- Local Business (Unless you’re actually a local business and not only an online directory)
Analytics
Google Analytics
The analytics option in SEOPress mainly focuses on Google Analytics. Instead of Google Analytics, I recommend AnalyticsWP, which is easier to use, better for user privacy, and built specifically for WordPress.
⚡AnalyticsWP is part of the solution stack that runs my businesses, and my clients get access to this premium plugin for free.)
Cookie Bar/GDPR/Google Consent
Another feature under analytics is a Cookie Bar/GDPR/Google Consent, which works with Google Analytics. Instead of this feature, I recommend Termageddon, which helps you with your policies and includes a cookie consent solution.
⚡Termageddon is part of the solution stack that runs my businesses, and discounts are available.
Instant Indexing
See the Instant Indexing section for more information.
Redirections / 404 Monitoring
Redirections
I don’t recommend doing redirections at the application level (i.e., using a WordPress plugin). For performance, there are better options.
- Edge Redirections with Cloudflare (Best Performance Option)
- Server-Level Redirections (2nd Best Option)
404 Monitoring
URLs with a 404 (page not found) status are bad for user experience, website performance, and the crawl budget allocated by Google, all of which can degrade your overall SEO and conversions.
For performance and the additional features, I recommend SEO PowerSuite for monitoring 404s. If SEO PowerSuite is out of reach, you can use Google Search Console to look for 404 errors.
⚡SEO PowerSuite is part of the solution stack that runs my businesses.
Configure Titles & Meta Settings Within SEOPress
Post Types
WordPress Dashboard > SEO > Titles & Meta > Post Types
For each of the applicable post types listed below, set the following:
- Toggle OFF the SEO metabox toggle
- Do not display this single post type in search engine results (noindex) > Check the box to disable
- Do not follow links for this single post type (nofollow) > Check the box to disable
Applicable post types:
- Floating Elements
[e-floating-buttons] - Emails
[mailpoet_email] - MailPoet Page
[mailpoet_page]
Listings
WordPress Dashboard > SEO > Titles & Meta > Post Types > Listings
Title Template
By default, MyListing applies meta to listings, but it’s insufficient. The default output for the title will be something like Listing Name – Site Name, and the – portion isn’t an SEO-friendly separator.
The good news is SEOPress fixes these issues as soon as you install and activate it. Looking at the title meta template, the default variables (%%post_title%% %%sep%% %%sitetitle%%) will output something like Listing Name – Site Name, which is an SEO-friendly title containing a proper separator.
The title meta at this point is fine for most MyListing websites, but depending on your particular business, you might have good reasons to apply some changes.
Meta Description Template
The default meta description template variable within SEOPress is %%post_excerpt%%, but listings don’t have excerpts like other post types, so the description will pull from the listing’s description field, using the first 394 characters. This is problematic, as listings won’t have SEO-friendly meta descriptions.
Apply SEO-friendly Meta Descriptions to Listings Using SEOPress
While we’re focusing on the meta description, the same process applies to adjusting the listing title meta. What we’re going to do here is inject the listing’s title, listing type, region, and site title into the meta description.
Paste the text below into the Meta Description box and save changes.
%%post_title%% provides wedding %%_cf__case27_listing_type%% services in the %%_ct_region%% area. Check out their listing on %%sitetitle%%.The combination of variables and text will result in a meta description similar to “Elite Wedding Catering provides wedding catering services in the Charlotte, NC, area. Check out their listing on The Wedding Professionals Directory.”
Let’s break down the meta description.
- %%post_title%% provides wedding: We are pulling in the listing title and appending some text
- %%_cf__case27_listing_type%% services in the: We are pulling in the listing type and appending some text
- %%_ct_region%% area: We are pulling in the listing region and and appending some text
- Check out their listing on %%sitetitle%%: We are pulling in the website’s name, prepending some text, and appending some text
Note: The post title (%%post_title%%) from this method works great if you have only one listing type (weddings in the above example), but what if you have more than one listing type and they don’t necessarily relate directly to weddings? SEOPress integrates with AI providers to help in this area, and we’ll cover that later in this guide.
Note: Suppose your MyListing website is such that you are adding listings on behalf of your users/customers. In that case, you must decide if something like the above will work for assigning meta or if you want to manually take the time to craft unique meta on a case-by-case basis.
Archives
WordPress Dashboard > SEO > Titles & Meta > Archives
For each of the applicable archives listed below, set the following:
- Do not display this single post type in search engine results (noindex) > Check the box to disable
- Do not follow links for this single post type (nofollow) > Check the box to disable
Applicable archives:
- Floating Elements
[e-floating-buttons] - Emails
[mailpoet_email] - MailPoet Page
[mailpoet_page]
Author Archives
If you’re going to have multiple authors for your website, ensure you uncheck the Do not display author archives in search engine results (noindex) box.
Taxonomies
WordPress Dashboard > SEO > Titles & Meta > Taxonomies
For each of the applicable taxonomies listed below, set the following:
- Do not display this single post type in search engine results (noindex) > Check the box to disable
- Do not follow links for this single post type (nofollow) > Check the box to disable
Applicable taxonomies:
- Tags
[post_tag] - Formats
[post_format] - Tags
[case27_job_listing_tags] - Brands
- Product tags
[product_tag] - Product shipping classes
[product_shipping_class] - Vendors
[wcpv_product_vendors](Unless you’re going to take the time to build an SEO-optimized multivendor marketplace.) - Custom Taxonomies (Unless you have some custom taxonomies are absolutely critical to your site and you’re going to take the time to create SEO-optimized custom taxonomy pages.)
Configure XML – HTML Sitemaps
General
WordPress Dashboard > SEO > XML – HTML Sitemap > General
XML sitemaps are for search engines, whereas HTML sitemaps are for humans to help them navigate your website.
- Enable XML Video Sitemap > Enable (Only if you are adding or allowing videos to be added)
- Enable Author Sitemap > Enable (Only if you’ve also enabled the author archives)
- Enable HTML Sitemap > Enable (Only if you’re going to display a visual sitemap to help users navigate your website)
With the HTML Sitemap enabled, you can take the shortcode that SEOPress gives you and drop it right into a page of your choice using WordPress’s built-in shortcode block or Elementor’s shortcode widget.
Prevent Sitemap 404 Errors
If your web server uses Nginx, you must ensure the following configuration is added to your server. If you’re using quality managed hosting, you should be able to give them the config, and they will add it for you.
location ~ (([^/]*)sitemap(.*)|news|author|video(.*))\.x(m|s)l$ {
## SEOPress
rewrite ^.*/sitemaps\.xml$ /index.php?seopress_sitemap=1 last;
rewrite ^.*/news.xml$ /index.php?seopress_news=$1 last;
rewrite ^.*/video.xml$ /index.php?seopress_video=$1 last;
rewrite ^.*/author.xml$ /index.php?seopress_author=$1 last;
rewrite ^.*/sitemaps_xsl\.xsl$ /index.php?seopress_sitemap_xsl=1 last;
rewrite ^.*/sitemaps_video_xsl\.xsl$ /index.php?seopress_sitemap_video_xsl=1 last;
rewrite ^.*/([^/]+?)-sitemap([0-9]+)?.xml$ /index.php?seopress_cpt=$1&seopress_paged=$2 last;
}Post Types
WordPress Dashboard > SEO > XML – HTML Sitemap > Post Types
Enable the Listings post type.
Taxonomies
WordPress Dashboard > SEO > XML – HTML Sitemap > Taxonomies
Enable the following taxonomies.
- Categories [job_listing_category] (Make sure to implement SEO-optimized listing category pages)
- Regions [region] (Make sure to implement SEO-optimized region pages)
- Product Categories
- Vendors (Make sure to implement SEO-optimized vendor shop pages)
HTML Sitemap
If you’ve decided to show an HTML sitemap to help users navigate your website, configure the settings as desired and then use the desired method (Block Editor, Shortcode, etc.) to display it.
Configure Social Network Settings Within SEOPress
WordPress Dashboard > SEO > Social Networks
Knowledge Graph
This defines the overall schema of your business (website) and makes it available to Google’s Knowledge Graph via the source code on your homepage. Fill out the settings on this page as completely and accurately as possible, ensuring to follow the guidelines when adding images.
Facebook (Open Graph)
While the heading explicitly says “Facebook,” these metatags will be used by Facebook, Pinterest, LinkedIn, WhatsApp, etc., when a user shares a link on its own social network. Increase your click-through rate by providing relevant information such as an attractive image.
In most cases, the only thing you need to do here is add the default image, so we’re going to skip the advanced settings for this guide. When adding your default image, ensure you follow the provided guidelines.
X Cards
This area allows you to set up your global settings for your X Cards (formerly Twitter).
In most cases, the only thing you need to do here is add the default image, so we’re going to skip the advanced settings for this guide. When adding your default image, ensure you follow the provided guidelines.
Set up Instant Indexing
WordPress Dashboard > SEO > Instant Indexing
This feature lets MyListing website owners notify Google and Bing directly when job listings are added or removed, triggering a fresh crawl that can lead to higher-quality user traffic.
IMPORTANT: As it relates to a MyListing website, Instant Indexing should only be used to crawl listings that contain structured data of type JobPosting (e.g., a listing that describes a job opening in a certain organization).
Google Search Console (GSC) allows you to do something similar, but there are two downsides compared to SEOPress.
- GSC only allows you to specify one URL at a time, whereas with SEOPress you can submit URLs in batches of 100 (up to 200 per day)
- You must visit GSC, whereas SEOPress will enable you to do everything right from your website
The steps below cover how to set up Google Instant Indexing, which you can also use to set up Bing if desired.
Prepping Google and Bing for Instant Indexing
Google Indexing API
- Visit the Google Cloud Platform
- Create a new project named SEOPress Instant Indexing
- APIs & Services > Enable APIs and Services
- Search for the word ‘indexing’ and select Indexing API
- Choose Web Search Indexing API
- Click Enable
- From the left-hand menu, click on Credentials
- Click Create Credentials
- Choose Service Account
- Service Account Name > Enter Google Indexing API
- Click Create and Continue
- Click Done
- Service Accounts > Click the Google Indexing API link that was just created
- Click the Keys menu item
- Add Key > Create new key > JSON > Click Create (Note: A JSON file will be saved to your workstation)
- Click Close
- Click the Details tab
- Copy the email address shown, or keep this browser tab open so you can reference it as we proceed
Google Search Console
- Open Google Console
- Select the property for your website, or add one using the Google Search Console guide
- Settings > Users and permissions > Click Add User
- Paste in the email address from the Google Indexing API section above
- Permission > Owner
- Click Add
Bing Indexing API Key
You’ll want to submit your URLs to Bing as well and there’s nothing you need to do as the Bing Indexing API Key is automatically generated for you.
Configure Instant Indexing Settings Within SEOPress
General
WordPress Dashboard > SEO > Instant Indexing > General
- Select Search Engines > Check the boxes for Google and Bing/Yandex
- Save changes
Settings
WordPress Dashboard > SEO > Instant Indexing > Settings
- Open the downloaded JSON file with your preferred text editor
- Copy the entire contents of the file
- Google Indexing API Key > Paste in the contents of the JSON file
- Save changes
Submit Your Content For Indexing
- WordPress Dashboard > SEO > XML – HTML Sitemap > General
- Click the View button
- Click the link for your listings sitemap (e.g., job_listing-sitemap1.xml)
- Copy the links for a batch of job listings (up to 100) that you would like to instantly index. (Pro Tip: Use CSS to hide the Last Update column. That way, when you copy all the links, you won’t capture the dates, which is a huge time savings.)
- Paste the links into a text file and strip out the dates
- Copy all of the links again
- WordPress Dashboard > SEO > Instant Indexing > General > Submit URLs for Indexing > Paste in your links
- Click the Submit URLs to Google & Bing button
Configure Advanced Settings Within SEOPress
WordPress Dashboard > SEO > Advanced
Image SEO
WordPress Dashboard > SEO > Advanced > Image SEO
Attachment Redirection
You’ll see two options for redirecting image attachments. Enable one, but not both.
- Redirect Attachment Pages to Post Parent: This option will be used the majority of the time and should be considered the default
- Redirect Attachment Pages to Their File URL: Recommended only for websites where media is the main focus, such as photography or artist websites
Automated Image SEO Optimization
SEOPress includes features to automate image SEO.
- Cleaning Media Filename
- Automatically Set the Image Title
- Automatically Set the Image Alt Text
- Automatically Set the Image Alt Text From Target Keywords
- Automatically Set Alt Text on Already Inserted Image
- Automatically Set the Image Caption
- Automatically Set the Image Description
The automatic image SEO features are especially great for MyListing website owners who allow listing owners to upload images, because it’s unrealistic to think they are going to take the time to manually optimize each image for SEO.
These features also benefit website owners who don’t allow users to upload images simply due to the time savings for applying better SEO practices to images.
I enable every Image SEO feature, knowing that it’s easy to manually override the settings on an image-by-image basis should I need to.
Automatically Set the Image Alt Text
For this Image SEO feature, there’s an option to use AI to automatically describe the images. We’ll cover this in the AI section of this guide.
Advanced
WordPress Dashboard > SEO > Advanced > Advanced
Enable the following settings.
- Remove link attribute in post content
- Remove WordPress generator meta tag
- Remove WordPress shortlink meta tag
- Remove Windows Live Writer meta tag
- Remove RSD meta tag
- Remove WordPress X-Pingback header
- Remove WordPress X-Powered-By header
Appearance
WordPress Dashboard > SEO > Advanced > Appearance
As the title of this section suggests, the settings here are mainly a matter of preference, but there’s also back-end performance to think about.
Metaboxes
- Universal Metabox for the Block Editor > Enable
- Move SEO metabox’s position > Low Priority
Admin Bar
- SEO in admin bar > Remove SEO from Admin Bar in backend and frontend > Enable
- Noindex in admin bar > Remove noindex item from Admin Bar in frontend > Enable
Security
WordPress Dashboard > SEO > Advanced > Security
If you have multiple people logging into the back end of your website, take a close look at these settings to prevent certain users from being able to make undesirable changes. To start out, I recommend disabling metabox access for all roles except the administrator.
Configure Pro Settings Within SEOPress
Structured Data Types (Schema.Org)
Schema has always been important for SEO. It helps the search engine bots understand what your website and its content are about.
Now, with AI, schema is back in the limelight. There’s a debate happening as to whether schema helps your website answer questions people are asking of AI. Some experts say it’s important, and some say that LLMs actually destroy the schema on their path to getting to the actual content.
I think the answer falls somewhere in the middle. Meaning, I don’t think schema is pointless when it comes to LLMs, but I’m not able to say how big of an impact it has. In the end, we need proper schema anyway, so there’s that.
Setting up schema correctly is a bit of a process. You’ve got the schema for you (person) or your website/business (organization), for content (e.g., listings), for individual components (e.g., FAQs), etc.
All this to say, this is a work in progress for me as well, and I’m documenting the journey here.
WordPress Dashboard > SEO > PRO > Structured Data Types
- Enable Structured Data Types > Enable
- Upload your publisher logo > Upload your image, being sure to follow the provided guidelines
- Enable ProfilePage Schema > Enable (Only if you’ve also enabled the author archives)
Automatic Schema
WordPress Dashboard > SEO > PRO > Structured Data Types > Automatic Schemas
Automatic schema simply means automatically applying structured data markup JSON-LD to websites with minimal effort. Let’s look at adding schema for the organization as an example.
Organization Schema
Generate Schema for the Organization
- Open the AI tool of your choice (the free version should be fine)
- Prompt > Generate organization schema for AI by referencing https://mylisting.club
- Keep the AI screen open as we’ll reference it here soon
Add the Organization Schema to SEOPress
- Click the View my automatic schemas button
- Click the Add New Schema button
- Schema Name > Organization
- Schema Type > Custom
- Show this schema if your singular post, page, or post type has > Configure one rule as follows:
- Post Type
- is NOT equal to
- Floating Elements
- Custom Schema > Manual Custom Schema > Paste in the schema generated from the AI
- IMPORTANT: Review the schema to ensure accuracy, making any necessary adjustments
- Paste the schema code into Google’s Rich Results Testing tool to ensure it’s error-free
- Save your changes in SEOPress once you’re happy with your schema
MyListing Club’s Organization Schema
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "Organization",
"name": "MyListing Club",
"url": "https://mylisting.club",
"description": "MyListing Club provides exclusive MyListing WordPress theme resources and MyListing WordPress theme expert services to help users build, launch, and optimize directory websites using the MyListing WordPress theme faster, easier, and better, including MyListing Theme Starter Sites, MyListing Theme Add-ons, MyListing Guides, MyListing Video Tutorials, MyListing Website Hosting, MyListing Theme Support, and MyListing Custom Development.",
"logo": "https://mylisting.club/wp-content/uploads/MyListing-Club-Google-Knowledge-Graph.webp",
"sameAs": [
"https://pinedigital.co",
"https://influencewp.com",
"https://changelogwp.com",
"https://mylisting.club",
"https://wpturnedup.com",
"https://x.com/PineDigitalCo",
"https://www.youtube.com/@MyListingClub",
"https://www.youtube.com/@InfluenceWP"
],
"contactPoint": [
{
"@type": "ContactPoint",
"contactType": "customer support",
"url": "https://mylisting.club/contact/",
"availableLanguage": ["English"]
}
],
"address": {
"@type": "PostalAddress",
"addressCountry": "US"
},
"founder": {
"@type": "Person",
"name": "Ryan Logan"
},
"knowsAbout": [
"WordPress Expert",
"WordPress Website Support",
"WordPress Website Care & Maintenance",
"WordPress Website Development",
"WordPress Website SEO",
"WordPress Technology Assessments",
"WordPress User Experience Assessments",
"WordPress Business Coaching",
"MyListing WordPress Theme",
"Managed MyListing Websites",
"MyListing Website Hosting",
"MyListing Website Support",
"MyListing Business Coaching",
"MyListing Technology Assessments",
"MyListing User Experience Assessments",
"MyListing Custom Development",
"MyListing Data Export/Import",
"WordPress Directory Websites",
"Elementor Expert"
]
}
</script>JavaScriptRobots.txt
WordPress Dashboard > SEO > PRO > robots.txt
This plain text file lives at the root of your site (e.g., domain.com/robots.txt), consisting of rules to allow or disallow access for a given search engine crawler to a specified file path inside your website while respecting the Robots Exclusion Standard.
The SEOPress robots.txt file is virtual (generated via URL rewriting), unlike the default WordPress robots.txt that is physically stored on your server.
- Enable Robots > Enable
- Virtual Robots.txt file > Paste in the contents of MyListing Club’s robots.txt (shown below)
- Adjust Line 2, replacing mylisting.club with your domain
- Optionally make further adjustments
- Save changes
# Link to your sitemap
Sitemap: https://mylisting.club/sitemaps.xml
# Default WP rules
user-agent: *
disallow: /wp-admin/
allow: /wp-admin/admin-ajax.php
# Block Search Results
user-agent: *
disallow: /?s=
disallow: /page/*/?s=
disallow: /search/
# Block RSS feeds
user-agent: *
disallow: /feed/
disallow: */feed
disallow: */feed$
disallow: /feed/$
disallow: /comments/feed
disallow: /?feed=
disallow: /wp-feed
# Default WooCommerce rules
user-agent: *
Disallow: /wp-content/uploads/wc-logs/
Disallow: /wp-content/uploads/woocommerce_transient_files/
Disallow: /wp-content/uploads/woocommerce_uploads/
# Block add-to-cart links (WooCommerce)
user-agent: *
disallow: /*add-to-cart=*
# Block AhrefsBot
user-agent: AhrefsBot
disallow: /
# Block MajesticSEOBot
user-agent: MJ12bot
disallow: /
# Block SemrushBot
user-agent: SemrushBot
disallow: /
user-agent: SemrushBot-SA
disallow: /robots.txt Template – Special Mentions
Block add-to-cart links (WooCommerce)
If you look at the access logs on your server, you’ll likely notice bots (Googlebot, Bingbot, etc.) are indexing “add-to-cart” links. There’s no need for these to be indexed, and blocking these bots can contribute to your web server using less CPU, memory, and bandwidth.
llms.txt
WordPress Dashboard > SEO > PRO > llms.txt
llms.txt is a file that helps LLMs like ChatGPT, Claude, and Gemini discover and understand your most important content.
By default SEOPress sets you up with an llms.txt file that’s pretty much ready to go. Still, be sure to view your llms.txt file on the front end to ensure the output is what you want and adjust if necessary.
AI
WordPress Dashboard > SEO > PRO > AI
- Sign up for one of the AI providers (OpenAI, Gemini, etc.) integrated with SEOPress and make a note of your API key
- Add your API key to SEOPress, under the corresponding AI provider
- Click the Test API key button to ensure the connection is working
- Choose the desired model of the AI provider
- Save changes
Add Meta to a Specific Listing Using AI
- WordPress Dashboard > Listings
- Edit the desired listing
- Scroll down to the SEO metabox section
- Title > Click the AI icon and the title will be added
- Meta Description > Click the AI icon and the description will be added
- Adjust the title and description if needed
- Save changes
Bulk Add Meta to Listings Using AI
- WordPress Dashboard > Listings
- Check the box next to the desired listings
- From the Bulk Actions dropdown menu, choose either Generate meta title with AI or Generate meta description with AI
- Repeat the previous step as desired
Use AI to Set the Image Alt Text
As mentioned in the Image SEO section of this guide, you can automate the adding of alt text to images based off of the image’s filename. But if the image filename isn’t all that great, this might result in alt text that’s undesirable.
SEOPress provides a feature where you can use AI to automatically generate alt text based on what the AI thinks the image is about. The downside is this feature *may* slow down the image upload process, so if you enable this, be sure to test thoroughly and ask for listing owner feedback regarding their add listing experience.
It’s worth seeing how SEOPress automatically assigns alt text without AI and then considering AI as the next step.
Breadcrumbs
WordPress Dashboard > SEO > PRO > Breadcrumbs
Breadcrumbs indicate a post’s (post, page, listing, etc.) position in the site hierarchy. There are two types of breadcrumbs:
- JSON Breadcrumbs: Not visible on the front end by users, but used by crawlers
- HTML Breadcrumbs: Visible on the front end to help users understand and explore your website efficiently
Enabling JSON Breadcrumbs for the Core Website
We want to turn on breadcrumbs for the core website. While there are more options, typically the steps below are all you need.
- Enable JSON-LD Breadcrumbs > Enable
- Save changes
- Optionally, view any page (except your home page) on your website and inspect the source code (right click > view page source) to ensure the output as desired
When viewing the source code, do a search for <script type=”application/ld+json”>{“@context”:”https:\/\/schema.org”,”name”:”Breadcrumb” to find where the code for the breadcrumbs starts.
Enabling HTML Breadcrumbs for Listings
You can enable breadcrumbs with SEOPress or within MyListing theme options. SEOPress is the preferred method.
SEOPress gives you options, as you’ll see below, whereas MyListing doesn’t have any configuration options. Another thing to note is the breadcrumbs that SEOPress provides is better placed, in my opinion (below the listing title), whereas MyListing places their breadcrumbs right under the header, creating what looks like a double header.
- Enable Breadcrumbs > Enable
- Taxonomy to show in Breadcrumbs > Listings > Choose the taxonomy to show before the listing title (e.g., Home – Category (job_listing_category) – Listing Title)
- Display a text before the breadcrumbs > Optionally add text that appears before the breadcrumb (e.g., You are here: Home – Category – Listing Title)
Enhancing HTML Breadcrumb Structure for Listings
So, let’s assume that you’ve followed the instructions to this point and you decided to use Categories as the taxonomy to appear in the breadcrumb for listings. The breadcrumb would then be something like Home / Listings / Category / Listing Name, which may not be enough or ideal for some website owners.
- If you click on the listings portion of the breadcrumb, users will be taken to a listings archive page, which, by default, does not have a nicely designed template assigned to it.
- Instead of the listings portion of the breadcrumb, I’d rather have that be replaced with the name of the Listing Type (e.g., Home / Listing Type / Category / Listing Title) so that when people click on the Listing Type portion of the breadcrumb, they are taken to an archive page (or some other page) where the listings are pre-filtered by that listing type.
To customize the breadcrumb structure further for MyListing, check out the links below from SEOPress.
Enhancing HTML Breadcrumb Design for Listings
The breadcrumbs look good by default. They just need a bit of padding.
.breadcrumb {
padding: 15px 0px;
}WooCommerce
WordPress Dashboard > SEO > PRO > WooCommerce
There’s not much to say other than to keep this enabled. If you see errors in Google Search Console related to products, you might want to look at enabling the Remove WooCommerce Schemas feature.
Google Page Speed
WordPress Dashboard > SEO > PRO > Google Page Speed
SEOPress helps you track your website performance right from your WordPress Dashboard.
- Visit the PageSpeed Insights API Key page
- Ensure you have selected the correct project (i.e., your website) from the drop-down menu
- Click Enable
- Click on the Credentials menu item.
- Click Create Credentials
- Choose API Key
- Copy your API Key
- Enter your own Google Page Speed API Key > Paste in your API key
- Save changes
- Click Analyze with PageSpeed Insights
As with any performance test, you’ll want to review the results and take the appropriate actions. If you want to save your performance reports for historical reference, click Save as PDF to download a copy of the report to your workstation.
Video Tutorial

Which SEOPress Items Should We Set to Noindex on a MyListing Site?
We should noindex post types, archives, and taxonomies that add little or no search value. In this guide, that includes floating elements and MailPoet content types, plus common low-value taxonomies like tag formats and product shipping classes (unless we plan to build those pages for search).
How Do We Write Better Listing Meta Descriptions in SEOPress for MyListing?
Don’t rely on the default listing description text. Set a meta description template that inserts the listing title and key MyListing fields like listing type and region, then adds the site name. This creates consistent snippets and avoids random text pulled from user-submitted descriptions.
When Should We Use SEOPress Instant Indexing for a MyListing Website?
Use Instant Indexing only when the listing is a real job post and includes JobPosting structured data. It’s not meant for general directory listings, and using it outside that scope wastes time and produces unclear results.
Why Should We Disable SEOPress Modules Like Analytics and Redirections?
Disable modules we’re not using to reduce overhead and keep settings simpler. This guide recommends using a WordPress-focused analytics tool instead of SEOPress Analytics and handling redirects at the edge or server level for better performance.
What Should We Include in SEOPress Sitemaps for a Directory Site?
Include the Listings post type and the taxonomies that power SEO landing pages, like listing categories and regions. Enable author sitemaps only if author archives are enabled and you expect multiple authors with index-worthy profiles, and include WooCommerce taxonomies only if they matter for your site.