> ## Documentation Index
> Fetch the complete documentation index at: https://help.hoopai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Importing blog posts

> Import existing blog content from WordPress or via URL into the HoopAI blog platform.

If you are migrating an existing blog to the HoopAI platform, you do not need to manually recreate each post. The platform supports importing blog posts from external sources, including direct URL import from WordPress and other CMS platforms.

## Import methods

| Method                  | Best for                                                                 |
| ----------------------- | ------------------------------------------------------------------------ |
| **URL import**          | Bringing in individual posts from a live website by pasting the post URL |
| **WordPress migration** | Moving an entire WordPress blog's content library                        |

## Importing a post by URL

The URL import tool fetches the content of a published blog post from any publicly accessible URL and creates a draft post in your blog site. This is the fastest way to migrate individual posts from a WordPress blog, Squarespace, Webflow, Ghost, or any other CMS.

<Steps>
  <Step title="Navigate to your blog site">
    Go to **Sites > Blogs** and open the blog site you want to import posts into.
  </Step>

  <Step title="Open the import option">
    Click the import icon or look for the **Import Post** option in the blog site menu. Select **Import via URL**.
  </Step>

  <Step title="Paste the post URL">
    Enter the full URL of the published blog post you want to import (e.g., `https://youroldsite.com/blog/post-title`).
  </Step>

  <Step title="Review the import">
    The tool fetches the post content and creates a draft. Review the imported content in the editor to verify:

    * Text formatting has carried over correctly
    * Images are present (see image handling note below)
    * Headings are structured correctly
    * No extraneous code or styling artifacts appear
  </Step>

  <Step title="Configure SEO metadata">
    Before publishing, set the URL slug, category, author, meta title, meta description, and cover image in the post details panel. These fields are not imported automatically from the source.
  </Step>

  <Step title="Publish or save as draft">
    Once the content and metadata look correct, publish the post or save it as a draft for further review.
  </Step>
</Steps>

<Note>
  Images embedded in imported posts may remain linked to their original hosting location rather than being uploaded to your Media Library. After importing, click each image in the editor and re-upload it to your Media Library to ensure images are served from your own infrastructure and do not break if the original site goes offline.
</Note>

## Migrating from WordPress

For large-scale migrations of a WordPress blog, use the URL import tool on a post-by-post basis, or follow the steps below for a more structured migration workflow.

### Recommended WordPress migration workflow

<Steps>
  <Step title="Export your WordPress content list">
    In WordPress, go to **Tools > Export** and export all posts as an XML file. Open the file in a text editor or import it into a spreadsheet to extract the list of post URLs, titles, and publish dates.
  </Step>

  <Step title="Prioritize posts for migration">
    Not every old post needs to migrate. Focus on:

    * Posts that rank in search and drive organic traffic (check Google Search Console)
    * Evergreen content that is still relevant
    * Posts linked from other high-authority pages

    Deprioritize or skip outdated, low-traffic, or thin content.
  </Step>

  <Step title="Import posts by URL">
    For each post on your migration list, use the URL import tool to bring the content into your blog site. Work through the list systematically, updating metadata and images as you go.
  </Step>

  <Step title="Set up redirects">
    After migrating, set up 301 redirects from each old WordPress URL to the corresponding new URL in the HoopAI platform. This preserves search rankings and prevents visitors from landing on a 404 page.

    Configure redirects in your domain's DNS settings or hosting configuration, not within the HoopAI platform.
  </Step>

  <Step title="Verify in Google Search Console">
    After redirects are in place, submit the new sitemap URL to Google Search Console. Monitor for crawl errors over the following 2–4 weeks to confirm the migration completed cleanly.
  </Step>
</Steps>

## Content to update during migration

Use the migration as an opportunity to improve content quality. For each post you import, consider:

* **Updating statistics and data** — replace outdated numbers with current figures
* **Refreshing the meta description** — rewrite for clarity and keyword inclusion
* **Adding internal links** — link to other posts and pages on your new site
* **Improving the URL slug** — simplify long or keyword-poor slugs
* **Updating the cover image** — replace low-resolution or irrelevant images
* **Adding or updating the author bio** — ensure the author profile is current

## Handling duplicate content during migration

If your old posts remain live on the original site while you migrate, configure canonical links on the newly imported posts to point back to the original URLs. This tells search engines which version is authoritative and prevents ranking dilution.

Once the migration is complete and redirects are in place, remove the canonical links from the new posts so that the new URLs become the authoritative version.

<Tip>
  Migrate your highest-traffic posts first. This minimizes the risk of losing organic search rankings during the transition and ensures your most valuable content is available on the new platform as early as possible.
</Tip>

## Bulk import via CSV

For large-scale migrations where you have a spreadsheet of blog posts, use the CSV bulk import method:

<Steps>
  <Step title="Prepare the CSV file">
    Create a CSV file with columns for: post title, body content (HTML), URL slug, category, author, meta description, cover image URL, and publish date.
  </Step>

  <Step title="Open the import tool">
    In the blog site menu, click **Import** and select **Import via CSV**.
  </Step>

  <Step title="Upload and map fields">
    Upload the CSV file. Map each CSV column to the corresponding blog post field in the mapping step.
  </Step>

  <Step title="Review and import">
    Preview the first few posts to verify formatting. Click **Import** to create all posts as drafts.
  </Step>

  <Step title="Review and publish">
    Open each imported draft in the editor. Verify content formatting, re-upload images to your Media Library, and configure SEO metadata before publishing.
  </Step>
</Steps>

<Note>
  CSV-imported posts are always created as drafts. Review each post individually before publishing to ensure formatting and images are correct.
</Note>

## Import via URL

The URL import tool fetches content from any publicly accessible blog post URL and creates a draft in your blog site. This works with WordPress, Squarespace, Webflow, Ghost, Medium, and most CMS platforms.

For detailed URL import instructions, see [Importing a post by URL](#importing-a-post-by-url) above.

Key considerations for URL imports:

* **Images** — images may remain linked to their original host. Re-upload them to your Media Library after import.
* **Formatting** — complex layouts (multi-column, custom widgets) may not import perfectly. Review and adjust in the editor.
* **Embeds** — third-party embeds (YouTube, Twitter) typically import as links rather than rendered embeds. Re-embed them manually.
* **Rate limits** — import one post at a time to avoid being blocked by the source website.
