Quickstart
Install SEO NEO and ship an SEO-correct page in five minutes.
Before you start
You'll need:
- ProcessWire 3.0.200 or later
- PHP 8.1 or later
- The
SeoNeomodule folder — download it from www.peterknight.digital/downloads/
Step 1 — Install the module
Copy the SeoNeo folder into your site's site/modules/ directory, then go to Modules > Refresh in the ProcessWire admin and click Install next to SEO NEO.
The module auto-creates the full SEO fieldset: seoneo_tab, seoneo_preview, seoneo_title, seoneo_description, seoneo_canonical, seoneo_keywords, seoneo_og_image, seoneo_og_type, seoneo_custom, seoneo_noindex, seoneo_nofollow, and seoneo_tab_END.
Nothing is wired to any template yet — that's the next step.
Step 2 — Add the SEO tab to a template
Go to Setup > Templates, open any template you want to manage SEO for, switch to the Fields tab, and add seoneo_tab. From version 1.1.0, SEO NEO auto-inserts the remaining SEO fields in canonical order when you save the template.
Repeat for each template whose pages need SEO management. For most sites that means your content templates — blog posts, product pages, landing pages. Admin and system templates don't need it.
Step 3 — Configure the basics
Go to Modules > Configure > SeoNeo and set two things to get started:
- Site name — the text appended to every page title (e.g. "Peter Knight Digital")
- Auto-inject — leave this enabled so SEO NEO inserts the meta block into
<head>automatically
Everything else has sensible defaults. You can come back to Configuration once the basics are working.
Step 4 — Edit a page and check the SEO tab
Open any page that uses a template with seoneo_tab added. You'll see a new SEO tab (with an optional NEO badge) alongside Content, Children, and Settings.
On that tab:
- The Google SERP Preview shows a live Google-style card as you type — flip between Desktop and Mobile, or switch language on multilingual sites
- The Meta Title field overrides the title used in
<title>andog:title— leave it empty to fall back to the page title - The Meta Description field sets
<meta name="description">andog:description - Noindex and Nofollow checkboxes control this page's robots directive
Fill in a title and description, save, and view the page source. You'll see the full SEO block inside <head>.
Step 5 — Verify the output
View the page in your browser and open the page source (Ctrl+U / Cmd+U). Look for the <!-- SeoNeo --> comment — everything between that and <!-- /SeoNeo --> is what SEO NEO emitted:
<!-- SeoNeo -->
<title>Your Page Title | Your Site Name</title>
<meta name="description" content="Your description.">
<link rel="canonical" href="https://example.com/your-page/">
<meta property="og:title" content="Your Page Title">
<meta property="og:description" content="Your description.">
...
<!-- /SeoNeo -->
If you see that block, you're done. SEO NEO is working.
Common gotchas
- No SEO tab showing? Check that
seoneo_tabwas added to the template in Setup > Templates, not just the field list in the module config. - No meta block in source? Confirm Auto-inject is enabled in Modules > Configure > SeoNeo, or add
<?= $page->seoneo->render() ?>to your<head>manually. - Title shows "1" or a number? The
seoneo_previewfield is a hidden preview widget — don't confuse it with a content field. It should sit inside theseoneo_tabgroup on the template.
See also
- Installation — full step-by-step install with ProCache notes.
- Configuration — every module setting explained.
- The SEO Tab — what editors see on every page.
Last updated