If you’ve ever tried adding schema to a WordPress site, you know the tools and advice can get messy fast. Bradley Benner broke it down clearly—which tools to use, when to automate, and when to stay manual. In this post, we share the exact system we use to add, manage, and scale schema across WordPress sites without breaking layouts or wasting time.
Table of Contents
Quick summary
If you want the short version: use a code injection plugin to add scripts or schema to pages, use SchemaWriter.ai to create manual schema for your most important pages (like the homepage and main location pages), and use InLinks to automate schema insertion across many other pages. We prefer manual schema on high-value pages and automated schema for the rest.
Why we use three tools
We use three tools because each one plays a different role:
- Header Footer Code Manager Pro — easy control to inject code into WordPress pages.
- SchemaWriter.ai — fast way to craft clean, custom schema for key pages (organization and local business schema).
- InLinks — automated schema insertion for many pages so we can scale quickly.
Header Footer Code Manager Pro — how and why
Header Footer Code Manager Pro (sometimes called HF Header Footer or HFM Pro) is a code injection plugin we use all the time. It does not create schema for you. Instead, it gives us control over where and how code goes on a site. We can add code sitewide, by page, or by section of a page (header, footer, etc.).
Here is why we like it:
- It lets us place JavaScript or JSON-LD in the HTML header or footer easily.
- We can set rules so a script runs only on specific pages or templates.
- The pro version gives more filters and control. That matters when you manage many client sites.
In short, use Header Footer Code Manager Pro to inject the schema, whether that schema is created manually or supplied by an external service.
Got SEO Questions? Get answers every week at 4pm ET at Hump Day Hangouts. Ask questions ahead of time, or live – just go to: https://semanticmastery.com/hdho (bookmark this!) 10+ years of insights given every week!
Get your checklist to help get better results with GBPs, faster.
SchemaWriter.ai — manual schema for key pages
We use SchemaWriter.ai (created by Jesper Nissen) to build manual schema for the most important pages. These are usually:
- The homepage (Organization schema)
- Location landing pages (LocalBusiness schema)
Why manual on these pages? Because these pages represent the business and the locations. They need more detail and correct entity references. With SchemaWriter.ai we can build a high-quality JSON-LD block that includes the right business attributes, phone numbers, addresses, and other structured data we want Google to see.
We also build templates inside SchemaWriter.ai. For example, for our tree service and contractor clients, we create a template that includes the right service types, industry terms, and other key facts. That saves time while keeping the schema accurate and consistent.
InLinks — automated schema for many pages
InLinks is the tool we use to automate schema on many pages. The way it works is simple:
- We add a small JavaScript snippet into the HTML header of the site (using Header Footer Code Manager Pro).
- Inside the InLinks dashboard, we connect the domain and select which pages should get schema.
- InLinks injects WebPage schema, FAQPage schema, and other supported types to the selected pages. We can edit those schema items inside InLinks.
This makes it possible to add schema across dozens of pages quickly. For service pages, location pages, and other content that is important but not the single most important page, InLinks gives a good balance of automation and control.
Where we put each schema type
We follow a simple rule: manual and detailed schema on the single most important pages, automated for the rest.
- Homepage: Organization schema. We build this in SchemaWriter.ai and insert it sitewide, usually via Header Footer Code Manager Pro.
- Primary location landing page: LocalBusiness schema created in SchemaWriter.ai and inserted into that page (or template) using the code injection plugin.
- Service pages and other location pages: Automated schema via InLinks. We add the InLinks script once and select which pages get schema.
- FAQ content: We let InLinks handle FAQ schema for many pages, or add FAQ Page schema manually if it’s a high-value page.
Step-by-step process we use
Here is the exact process we use when setting up schema on a WordPress site for a client:
- Install Header Footer Code Manager Pro on the WordPress site.
- Create Organization schema in SchemaWriter.ai for the homepage. Export the JSON-LD block.
- Insert that Organization JSON-LD into the site header or footer with Header Footer Code Manager Pro (so it loads on the homepage).
- Create LocalBusiness schema in SchemaWriter.ai for the main location landing page. Export and inject it only on that location page using the plugin’s page-level rules.
- Install the InLinks script sitewide via Header Footer Code Manager Pro. This is one small line of JavaScript in the header.
- In the InLinks dashboard, select the domain and choose which pages get automated schema. Tweak schema templates there if needed.
- Test the output using Google’s Rich Results Test and the Schema Markup Validator. Fix any warnings or errors.
- For scale, build templates in SchemaWriter.ai for typical site types (for us: tree service templates, contractor templates). Reuse these templates across client sites.
Why we don’t fully automate everything
Automating schema everywhere sounds easy, but we avoid it for a reason. The homepage and the main location page represent the business identity. Those pages need the most accurate and complete schema. Automated tools can miss special attributes or the right entity links. So we do those manually to make sure the business information is exactly right.
For the rest of the site, automation saves huge time. InLinks covers most other pages so we don’t need to hand-code schema for each one.
Testing and making sure it works
After we add schema, we always test. Two tools we use:
- Google Rich Results Test — checks if schema can generate rich results.
- Schema Markup Validator — checks if the JSON-LD is valid and shows warnings.
Fix any errors the tests show. Warnings can often be okay, but errors must be fixed. Also, check the live page source to make sure the JSON-LD appears where you expect.
Common questions we answer
- Can the code injection plugin create the schema? No. The code injection plugin only inserts code. The schema must be created elsewhere, then injected.
- Is InLinks enough on its own? InLinks is great, but we don’t use it as the only source for schema on the most important pages. We prefer manual schema for the homepage and key location pages.
- Can we use the free version of Header Footer Code Manager? Yes, but the pro version gives extra features and filters that make it easier to manage many sites.
- What schema types should we prioritize? Organization and LocalBusiness on the main pages. WebPage and FAQPage for content pages. Product or Service schema as needed for special pages.
Tips to keep schema work fast and clean
- Use templates. Build a SchemaWriter.ai template for each business type you work with.
- Keep JSON-LD blocks separate for each major function — one for Organization, one for LocalBusiness, etc. This makes debugging easier.
- Don’t duplicate the same schema with different values on the same page. That confuses validators.
- Place the code in the header with your code injection plugin so it loads before the page is crawled.
- Document what you added. Keep a simple spreadsheet that lists pages and the schema you injected.
FAQ
Do we always need schema on every page?
No. Schema helps search engines understand pages better, but some pages matter more than others. Prioritize homepage, location pages, and service pages. Use automation for the rest.
What if we change hosting or the theme?
Keep backups of your schema JSON-LD blocks and the InLinks script. If you change themes or hosts, re-add the code with Header Footer Code Manager Pro or a similar tool. Test again after the change.
How do we handle a blog?
For our tree service clients, we usually put the blog on a subdomain and not on the main site. If the blog is on the main site, use InLinks or manual schema when posts are important. For subdomains, treat them like a separate site and add schema accordingly.
Can we use other tools than these three?
Yes. These are the tools we prefer and recommend because they fit our workflow. Other tools can work too if they let you inject code and build proper JSON-LD. The key is control and consistency.
Final thoughts
We find that a mix of manual and automated approaches is the best way to add schema to WordPress sites. Use Header Footer Code Manager Pro to add code, use SchemaWriter.ai to create accurate schema for the most important pages, and use InLinks to automate the rest. This blend lets us keep the main pages precise while scaling schema across many pages quickly.
When you follow this system, you get clean, testable schema and you save time on larger sites. Start with the homepage and main location page, then add InLinks for bulk insertion. Test everything with Google’s tools and keep a simple record of what you added.
“This plugin does not create schema. This just allows you to inject code.”
We hope this helps. If you manage many local sites, this setup will make schema work faster and easier, while keeping the most important pages accurate and well-structured.