# Help4 SEO and Local SEO

Help4 SEO is a first-party module in Help4 Builder Suite. Its core, local, author, sitemap, feed, social, and analysis tools are available without a paid feature tier.

## 1.3.277 Capabilities

- Search titles, descriptions, canonical URLs, focus and related keyphrases, social titles/descriptions/images, Open Graph, X cards, and advanced robots controls.
- Page analysis for title/description length, search intent, phrase placement and density, related-topic coverage, content depth, headings, images, internal/external/invalid links, readability, conversion readiness, and advertising-quality signals.
- Contextual internal-link opportunities drawn from published, indexable content that is not already linked.
- Connected Organization, WebSite, WebPage, Article/BlogPosting, Service, Product, FAQPage, BreadcrumbList, Person, ProfilePage, and LocalBusiness-family schema nodes with stable IDs.
- WordPress XML sitemap integration that excludes Help4-noindexed content, plus optional video and recent-news sitemaps.
- Durable IndexNow queues for published URL additions, updates, deletions, and bounded full-index sweeps, with 500-URL batches, retry diagnostics, and a root verification-key route. This is disabled until an administrator enables it and is blocked on staging/noindex sites.
- Native real-estate listing, residence, offer, address, coordinate, and image schema with per-content Open Graph types and direct MLS/IDX social-image URLs.
- An SEO health screen for sitemap response and URL counts, missing and duplicate metadata, schema coverage by post type, and IndexNow status.
- RSS source attribution with `%POSTLINK%`, `%BLOGLINK%`, and `%AUTHORLINK%` variables.
- Google, Bing, Yandex, and Pinterest verification tags.
- `llms.txt`, `robots.txt`, redirects, 404 logging, image alt auditing/generation, breadcrumbs, and FAQ schema.
- Author professional title, credentials, expertise, identity-profile URLs, article Person schema, and author-archive ProfilePage schema.
- Preview-first metadata migration from Yoast SEO, All in One SEO, Rank Math, SEOPress, and The SEO Framework. Fill-only imports preserve existing Help4 values, explicit overwrite remains optional, source metadata is retained, and supported legacy location content is deduplicated by source ID.
- Administrator-triggered outbound-link health scans for published content and saved Builder layouts, with source attribution, unique-URL deduplication, SSRF-safe requests, HTTP classification, transient retries, and small resumable batches.

## Local SEO

Help4 Local SEO works without a Google API key. Google Places remains an optional source for maps, ratings, and public reviews.

1. Open **Help4 > Local SEO** and enter the shared business identity.
2. Open **Help4 > Locations > Add Business Location** for each office, store, service center, or branch.
3. Add the real address, coordinates, service areas, regular hours, special hours, and optional Place ID/map URL.
4. Publish a useful location landing page with staff, services, proof, directions, accessibility information, parking details, and local contact context.

Locations inherit shared telephone, email, URL, business type, price range, currencies, and payment methods. A location can override any shared value. Locations are public, REST-enabled WordPress content with archives, revisions, featured images, location categories, and core sitemap inclusion.

### Display

- `[h4_local_business]` displays address, contacts, service areas, directions, hours, and an optional map.
- `[h4_local_address]` displays a postal address and optional directions link.
- `[h4_local_opening_hours]` displays regular weekly hours.
- `[h4_local_locations]` displays published location cards; use `category="slug"` and `limit="20"` when needed.
- `[h4_local_store_locator]` provides text filtering, optional device-location distance filtering, and a responsive location list. Coordinates remain in the visitor's browser and are not sent to Help4.
- All single-location shortcodes accept `id="123"`. Without an ID, they use the current location page, configured primary location, or first published location.

### Discovery and schema

- `/h4-local-sitemap.xml` lists canonical published location pages and featured images.
- `/h4-locations.kml` lists locations that have valid coordinates.
- The public front page emits the primary location; a location page emits its own location.
- Local schema includes the selected LocalBusiness subtype, stable graph IDs, parent organization, address, coordinates, hours, special hours, service areas, contacts, accepted currencies/payment methods, price range, tax ID, official profiles, and directions.
- A Google Place ID entered on a native Help4 Location is automatically available to the optional Google Business reviews/maps tools.

## Privacy and external requests

- Local business data and SEO analysis stay in WordPress.
- Text and distance filtering run in the browser. Device geolocation requires a user permission decision; coordinates are not transmitted by Help4.
- Google Places requests occur only after an administrator configures an API key and Place ID and a Google-powered widget or API response needs the data.
- IndexNow requests occur only after an administrator enables IndexNow. Requests contain the site host, verification key location, and changed public URLs.
- SEO migration previews and imports read data already stored in the same WordPress database. They do not contact the source plugin vendor or Help4.
- Outbound-link scans run only after an administrator starts one. Each checked external URL receives a normal server request containing the site server IP, the public site URL in the Help4 link-health user agent, and standard HTTP metadata. The scan does not send page content, visitor data, cookies, or credentials.
- Help4 does not send SEO content, scores, author fields, local profiles, or visitor coordinates to Help4 servers.

## Current comparison audit

The requirements audit was refreshed on 2026-07-18 against the official Yoast and AIOSEO feature/documentation pages. It is a product-requirements comparison, not an affiliation or compatibility claim.

| Capability | Help4 status |
| --- | --- |
| Titles, descriptions, canonicals, robots, social metadata | Included |
| Search/readability analysis and related terms | Included |
| Internal-link counting and contextual suggestions | Included |
| Connected schema graph and extension filters | Included for Help4's supported schema catalog, including first-party real-estate graphs; broader guided rich-result forms remain active work |
| Core XML, local, KML, video, and recent-news discovery | Included |
| Redirect manager and inbound 404 log | Included |
| Full outbound broken-link crawler | Included as an administrator-triggered, bounded, resumable link-health scan with Builder-layout coverage, source attribution, safe HTTP requests, response classes, and transient retries |
| Image alt audit and safe local generation | Included |
| RSS source attribution | Included |
| IndexNow | Included and opt-in, with change/delete queues, full sweep, 500-URL batching, retries, staging guard, and response diagnostics |
| Author identity and expertise schema | Included |
| Single and multiple locations, categories, shared defaults, overrides | Included |
| Address, hours, split hours, special hours, service areas, maps | Included |
| Responsive store finder with optional browser-only distance | Included |
| Location import from another SEO plugin | Included for supported Yoast and AIOSEO location post types, with preview counts, normalized Help4 location fields, source-ID deduplication, fill-only reruns, and explicit overwrite |
| Search Console reporting and rank tracking | Not included; verification is included, but Help4 does not claim access to reporting data it has not been authorized to retrieve |
| AI-written SEO copy | Not performed automatically; no content is transmitted to an AI service by this module |

The remaining items in the table are release-planning facts, not hidden paid gates. They should not be represented as complete until their acceptance tests pass.

## Extension contracts

- `h4bs_organization_schema` filters the site Organization node.
- `h4bs_local_business_schema` filters a normalized location node and receives the normalized location data as its second argument.
- `h4bs_local_seo_settings_saved` fires after shared local settings are committed.
- `h4bs_local_seo_location_saved` fires after a location is committed.
- `h4bs_permissions_policy` filters the security Permissions-Policy header. Local locator pages request only `geolocation=(self)`; camera and microphone remain denied.
- `h4bs_seo_migration_providers`, `h4bs_seo_migration_source_data`, `h4bs_seo_migration_location_posts`, and `h4bs_seo_migration_result` extend migration discovery and normalized imports; `h4bs_seo_migration_complete` fires after a committed import.
- `h4bs_seo_link_health_post_ids`, `h4bs_seo_link_health_urls`, and `h4bs_seo_link_health_result` extend outbound-link source selection, queue normalization, and result classification.
- Real-estate fields, social filters, graph hooks, IndexNow behavior, and Realty Core coexistence are documented in `docs/SEO_REAL_ESTATE.md`.
- Migration and outbound-link operations are documented in `docs/SEO_MIGRATION_AND_LINK_HEALTH.md`.
