RankPine docs
Integrations

Hosted Blog

Host a blog on your own subdomain with RankPine. Set up DNS, choose a theme, customize your headings, and publish with automatic HTTPS.

Need help with setup?

Book a call with us and we’ll walk you through connecting your domain and getting your blog ready to publish.

Hosted Blog gives your articles a home at an address such as blog.yourcompany.com. RankPine serves the pages and manages HTTPS, so you do not need to install a CMS or redeploy your website for each article.

Your main website stays where it is. This is useful for sites built with page builders, custom apps, or platforms without a suitable publishing API. If you already have a working blog in WordPress, Shopify, Ghost, or another supported CMS, you can keep using its dedicated integration.

What you need

  • An active RankPine site.
  • Access to the DNS settings for a domain you control.
  • An unused subdomain, such as blog, stories, or learn.
  • The site owner or admin role in RankPine to manage the connection.

Hosted Blog supports one custom subdomain per RankPine site. It does not replace your main website or mount itself at a path such as example.com/blog.

1. Create your blog

  1. Select your site in RankPine.
  2. Open Settings → Integrations.
  3. On Hosted Blog, click Set up blog.
  4. Enter your blog subdomain, without https:// or a path. We suggest blog.yourcompany.com.
  5. Choose a theme and review your blog name and heading.
  6. Click Create hosted blog.

RankPine shows a unique CNAME target for this connection. Copy the value shown in your dashboard; do not use another site's target or a target from an old connection.

If the page says hosted blogs are not enabled yet, contact RankPine support. Theme previews remain available before publishing is enabled.

2. Add one DNS record

Sign in to the company that manages your domain's DNS. This may be different from your website host. Open its DNS, Manage DNS, or DNS records page.

FieldValue
TypeCNAME
Name / HostYour subdomain prefix, for example blog
Target / Value / ContentThe complete unique target from RankPine
TTLAuto or 300 seconds
Cloudflare proxyDNS only — gray cloud

RankPine shows the complete hostname so you can identify it. Many DNS panels append the domain automatically: for blog.yourcompany.com, enter blog in those panels, not blog.yourcompany.com.yourcompany.com. Providers that accept a complete name can use the hostname as shown.

Replace any existing A, AAAA, or CNAME record for this subdomain only. Leave your main website, email, and unrelated DNS records intact. Do not use a URL redirect or include https:// in the target.

Cloudflare

Choose your domain, then DNS → Records → Add record. Select CNAME, enter the name and target, and turn off the orange proxy cloud so it reads DNS only. Save the record. Proxying or flattening the CNAME can hide the record that RankPine needs to verify.

GoDaddy

Open your domain's DNS management page, choose Add New Record, select CNAME, and enter the subdomain prefix and target. Save with the default TTL.

Namecheap

Open Domain List → Manage → Advanced DNS, then Add New Record under Host Records. Select CNAME Record and enter the host and target. If the panel requires an absolute target, add a trailing dot. Use Automatic TTL.

Other providers

Look for the same CNAME fields. A trailing dot on the target is fine. If the provider will not let you create the record, check whether that subdomain already has an A or AAAA record.

3. Check DNS and open the blog

Return to RankPine and click Check DNS. The check runs in the background. While waiting, the page refreshes every 30 seconds; RankPine also rechecks domains every 15 minutes. DNS changes are often visible within minutes, but cached records can take longer to expire.

When DNS verified appears, click Open blog. RankPine provisions HTTPS on the first visit, so that visit can take longer than later ones. DNS verification confirms your record; it does not mean a browser has already tested the certificate. Certificates renew automatically while the domain stays connected.

The blog initially shows an empty state. Existing drafts and articles published elsewhere are not automatically exposed when you connect the blog.

Customize the design

Open Manage blog at any time. Appearance changes save automatically after a short pause or when you leave a field. A Saved message confirms the update. The live preview updates as you edit; its sample article is only a preview.

SettingWhat it changes
EditorialBright layout, clean headings, a large featured story and image grid
JournalQuiet light pages and serif headings
MidnightDeep slate background with light typography
Blog nameHeader, footer, feed title, and default author
Blog headingMain heading on the blog homepage
Heading descriptionIntroductory text below the heading
Author nameByline on article pages; blank uses your blog name
Link to your websiteLabel for the header link back to your connected website
Accent colorSmall decorative details and keyboard focus outlines
Logo URLPublic HTTPS image for the header; blank shows your name as text
Favicon URLPublic HTTPS URL for a square browser icon
Homepage SEO title and descriptionSearch metadata for the homepage; blank uses your heading and introduction

Logo and favicon images must already be hosted at publicly accessible HTTPS URLs. Direct uploads, arbitrary CSS, and custom JavaScript are not part of this integration. Article pages use the article's own headline, description and featured image for their search and social metadata.

Publish and update articles

Hosted Blog uses the same autopilot workflow as other publishing integrations. With autopilot on, new finished articles publish on your schedule. With autopilot off, review the article and click Publish when it is ready.

To move an existing published article onto your connected hosted blog, open it and use More actions → Update connected post. This also updates any other connected destination that supports updates, so review your integrations before doing a migration.

Editing an article saves your working copy in RankPine. To change its live hosted version, click More actions → Update connected post. The public URL and original publication date stay the same, and the modification date changes. Renaming a published article's slug in the editor does not break its existing hosted URL. A new article must have a unique slug within the blog; RankPine reports a collision instead of overwriting another article.

Archiving an article removes it from the public blog, RSS feed and sitemaps. Your public blog never lists unpublished drafts or other customers' articles.

Search engines and sharing

Every page is rendered on the server. Readers and crawlers receive the article HTML without needing JavaScript. The blog includes:

  • Article images, dates, bylines, and reading times.
  • Canonical URLs on your custom domain.
  • Article titles and descriptions, Open Graph images, and social-card metadata.
  • BlogPosting structured data on articles.
  • A paginated homepage with links to older articles.
  • /robots.txt and /sitemap.xml, which lists smaller article sitemaps.
  • A public RSS feed at /feed.xml containing recent article summaries.

Add your blog sitemap to Google Search Console. A domain property covers subdomains; a URL-prefix property must match the blog address. Serving indexable pages helps crawlers reach the content, but indexing and rankings remain decisions made by search engines.

Troubleshooting

Waiting for DNS

Check that the record type is CNAME, the prefix is correct, and the target exactly matches this connection's value. If using Cloudflare, choose DNS only. You can check from a terminal:

dig blog.yourcompany.com CNAME +short

It should return the unique target shown by RankPine. A trailing dot is normal.

DNS is verified but HTTPS does not load

Allow the first certificate request to finish and try again. If the problem persists, contact support with the hostname and the browser's error. If your domain has CAA restrictions, allow letsencrypt.org while preserving other required issuers. Do not remove the entire CAA policy just to troubleshoot.

The domain is already connected

Disconnect it from the previous RankPine site first. If you cannot access that site, contact support. Each new connection receives a different CNAME target to prevent old DNS records from authorizing someone else's connection.

The blog stopped serving

Check the CNAME and that the site still has an active billing seat. A missing or changed CNAME stops the blog after the next check. If DNS checks temporarily fail, RankPine retains the last successful verification for up to 48 hours, then stops serving until verification succeeds. Click Check DNS after fixing the record.

An image is missing

The image URL must be public and use HTTPS. Expiring signed URLs, private file sharing links, and hotlink protection can prevent readers from loading it. Leave the logo URL empty to use a text header while fixing the image.

Disconnect or change domains

Under Manage blog, expand Disconnect hosted blog, confirm the notice, and click Disconnect blog. This takes the blog offline and removes its hosted copies. Original articles remain in RankPine for export or publishing elsewhere. Remove or repoint the CNAME at your DNS provider too.

Changing domains requires disconnecting and creating a new connection. This changes your public URLs; export and plan your migration before doing it. Automatic redirects between old and new domains are not included. Reconnecting creates an empty blog; publish or update the articles you want to make public.

Multiple languages

Enable additional languages in your site settings. Hosted Blog keeps each language in its own listing and RSS feed: the main language uses / and /feed.xml, while German, for example, uses /de/ and /de/feed.xml.

New translations use language-prefixed article URLs. Every existing published URL is preserved. Articles link to their published translations through a language switcher and reciprocal hreflang tags in the page and sitemap. Unpublished and archived versions are excluded.

On this page