Native blog and system pages
Blog setup
In the blog's template settings, select Blog listing for the listing and Blog post for individual articles. HubSpot uses the listing template for author and tag archives and the simple /all listing too. The included author.html is a partial used by the listing template. It is not an invented standalone HubSpot author template type.
Set the real blog title, listing URL and pagination count in HubSpot. Create at least two published test posts in a non-production test context, including a long title, optional featured image, multiple tags, author biography and an article without an image. The listing loops over native contents, and the post renders native content.post_body. Author, date, image and tag guards avoid empty placeholders.
The listing includes a native pagination module and an editable blog-subscribe area. Subscription behaviour still needs a real account configuration. Native blog comments are shown only when enabled for the blog. Review their error and success states, moderation and spam controls in the account.
Recurring interface labels default to English and are editable in native text controls labelled “Blog interface”. Translate Insights, All insights, Read article, byline, author, comment and related-article labels, plus the empty listing heading and description, without changing template code. Translate the editable introduction and subscription content alongside the blog. System-page introductions use editable rich-text modules; Back to home and Search use native text controls. Native form, pagination, search and subscription widgets retain their own language settings. Do not mix languages on the same page.
Seven required system templates
| Template | Native type | Native interaction | |---|---|---| | 404 error | error_page | Helpful navigation and account site search | | 500 error | error_page | Clear interruption message and home link | | Password prompt | password_prompt_page | @hubspot/password_prompt | | Subscription preferences | email_subscription_preferences_page | @hubspot/email_subscriptions | | Subscription confirmation | email_subscriptions_confirmation_page | @hubspot/email_subscriptions_confirmation | | Backup unsubscribe | email_backup_unsubscribe_page | @hubspot/email_simple_subscription | | Search results | search_results_page | @hubspot/search_input and @hubspot/search_results |
Assign 404, 500, password and search templates in the account's website/system-page settings for the intended domain. Assign email-preference, subscription-confirmation and unknown-contact unsubscribe templates in marketing email subscription settings. Exact settings navigation may change. These template assignments have not been applied by preparing the local package.
Required native checks
The password prompt must reject an incorrect password and admit the correct one using HubSpot's protection. A front-end hidden section is not access control.
Open subscription links generated by HubSpot in a test email. Confirm a preference change, unsubscribe and unknown-contact fallback. The theme must not replace native unsubscribe controls with a simulated form or claim that preferences were saved before HubSpot confirms them.
Site search requires an eligible paid account and searchable published content. The results template supports both term and q query parameters, uses the native search-results module and shows an introduction before a query. Confirm matching results, a query with zero results, pagination, special characters and empty input. The native module owns its no-results state. Test both the installed module version and the account's selected search-results page. Local demonstration results are not proof of indexing.
Official references: blog template behaviour, system page settings, and official system template examples.