Workflow template

90-Day SEO Sprint Board for Nextcloud Deck as a free board template.

A 90-day SEO board from technical fixes and baseline numbers through keyword targets, weekly publishing, refreshes, and backlinks to a day-90 audit.

Last verified

Board preview

90-Day SEO Sprint

Baseline2

Fix sitemap and canonical mismatches

Confirm sitemap URLs, canonical tags, redirects, and hreflang all point to the same final URLs.

  • Every sitemap URL returns 200, not a redirect
  • Canonical tags point at the final URL
  • hreflang pairs resolve in both directions
  • No indexable page is missing from the sitemap
Technical

Write down the starting numbers

Without a baseline on day zero there is nothing to compare on day 90.

Technicaldue in 1 day

Keyword Targets1

Pick 20 narrow product-intent queries

Favor terms already close to the product, not generic project management queries.

Keyworddue in 7 days

Publish1

Ship one page a week, not ten in a month

A steady cadence gives each page time to be indexed and measured on its own.

Contentdue in 14 days

Refresh1

Update pages ranking 8-20 in GSC

Add screenshots, FAQ, internal links, release proof, and a stronger title/meta match.

  • Export queries where the page ranks 8 to 20
  • Match the title and description to the real query
  • Add the section the page is missing
  • Link to it from a page that already ranks
Refreshdue in 30 days

Backlinks1

Earn links where your users already read

One link from a community your users trust beats twenty from directories they never visit.

Backlinkdue in 45 days

Day 90 Audit1

Compare against the baseline

Decide what to keep doing based on the numbers, not on how the work felt.

  • Compare clicks and impressions against day zero
  • List the pages that gained and the ones that did not
  • Name the single change that produced the most gain
  • Drop the tactic that produced nothing
Technicaldue in 90 days
TechnicalKeywordContentBacklinkRefresh
View the portable v1 template JSON
{
  "schema": "deckloud-template-v1",
  "schemaVersion": 1,
  "slug": "90-day-seo-sprint-nextcloud-deck",
  "locale": "en",
  "title": "90-Day SEO Sprint Board for Nextcloud Deck",
  "description": "A Deck-native version of a 90-day SEO sprint with baseline work, keyword targets, publish work, refreshes, backlinks, and audit tasks.",
  "category": "content-marketing",
  "tags": [
    "seo",
    "content",
    "90-day-sprint"
  ],
  "quickCreateStackKey": "baseline",
  "compatibility": {
    "requiresBoardCreate": true,
    "includesAttachments": false,
    "includesComments": false
  },
  "board": {
    "title": "90-Day SEO Sprint",
    "color": "0EA5E9"
  },
  "labels": [
    {
      "key": "technical",
      "title": "Technical",
      "color": "64748B"
    },
    {
      "key": "keyword",
      "title": "Keyword",
      "color": "3B82F6"
    },
    {
      "key": "content",
      "title": "Content",
      "color": "10B981"
    },
    {
      "key": "backlink",
      "title": "Backlink",
      "color": "F59E0B"
    },
    {
      "key": "refresh",
      "title": "Refresh",
      "color": "8B5CF6"
    }
  ],
  "stacks": [
    {
      "key": "baseline",
      "title": "Baseline",
      "order": 1
    },
    {
      "key": "keyword-targets",
      "title": "Keyword Targets",
      "order": 2
    },
    {
      "key": "publish",
      "title": "Publish",
      "order": 3
    },
    {
      "key": "refresh",
      "title": "Refresh",
      "order": 4
    },
    {
      "key": "backlinks",
      "title": "Backlinks",
      "order": 5
    },
    {
      "key": "day-90-audit",
      "title": "Day 90 Audit",
      "order": 6
    }
  ],
  "cards": [
    {
      "stack": "baseline",
      "title": "Fix sitemap and canonical mismatches",
      "description": "Confirm sitemap URLs, canonical tags, redirects, and hreflang all point to the same final URLs.\n\n- [ ] Every sitemap URL returns 200, not a redirect\n- [ ] Canonical tags point at the final URL\n- [ ] hreflang pairs resolve in both directions\n- [ ] No indexable page is missing from the sitemap",
      "labels": [
        "technical"
      ]
    },
    {
      "stack": "baseline",
      "title": "Write down the starting numbers",
      "description": "Without a baseline on day zero there is nothing to compare on day 90.",
      "labels": [
        "technical"
      ],
      "dueOffsetDays": 1
    },
    {
      "stack": "keyword-targets",
      "title": "Pick 20 narrow product-intent queries",
      "description": "Favor terms already close to the product, not generic project management queries.",
      "labels": [
        "keyword"
      ],
      "dueOffsetDays": 7
    },
    {
      "stack": "publish",
      "title": "Ship one page a week, not ten in a month",
      "description": "A steady cadence gives each page time to be indexed and measured on its own.",
      "labels": [
        "content"
      ],
      "dueOffsetDays": 14
    },
    {
      "stack": "refresh",
      "title": "Update pages ranking 8-20 in GSC",
      "description": "Add screenshots, FAQ, internal links, release proof, and a stronger title/meta match.\n\n- [ ] Export queries where the page ranks 8 to 20\n- [ ] Match the title and description to the real query\n- [ ] Add the section the page is missing\n- [ ] Link to it from a page that already ranks",
      "labels": [
        "refresh"
      ],
      "dueOffsetDays": 30
    },
    {
      "stack": "backlinks",
      "title": "Earn links where your users already read",
      "description": "One link from a community your users trust beats twenty from directories they never visit.",
      "labels": [
        "backlink"
      ],
      "dueOffsetDays": 45
    },
    {
      "stack": "day-90-audit",
      "title": "Compare against the baseline",
      "description": "Decide what to keep doing based on the numbers, not on how the work felt.\n\n- [ ] Compare clicks and impressions against day zero\n- [ ] List the pages that gained and the ones that did not\n- [ ] Name the single change that produced the most gain\n- [ ] Drop the tactic that produced nothing",
      "labels": [
        "technical"
      ],
      "dueOffsetDays": 90
    }
  ]
}

01

When to use this board

For a focused 90-day push on organic search with a measured result. The final audit names what to stop doing.

02

How to run this board

  • Fix the baseline and write down the numbers.

    Clear sitemap and canonical mismatches, then record day-zero clicks, impressions, and positions.

  • Pick narrow queries and publish weekly.

    Choose about 20 product-intent queries and ship one page a week, so each can be measured.

  • Refresh, earn links, and audit on day 90.

    Improve pages ranking 8 to 20, earn links in communities your users read, and compare with the baseline.

03

What this creates

6 stacks, 5 labels, and 7 starter cards with 12 checklist steps.

04

Standard Deck objects only

The result is an ordinary Deck board that you edit like any other. With a Nextcloud account, Deckloud writes it straight to your server, with no relay.

05

Safe import rules

The file holds no server IDs. Due dates count from the day you create the board, and checklists are Markdown task lists in card descriptions.

FAQ

Practical questions

Does the template include comments or attachments?

No. Comments need an author, and attachments differ between servers and Deck versions, so v1 templates hold text only.

Why record baseline numbers before starting?

Without a day-zero snapshot, day 90 has nothing to compare against, and every result becomes opinion.

Why one page a week instead of a batch?

Each page gets time to be indexed and measured alone, so you learn which page worked, not which month.

Get Deckloud

Your Deck boards in a native app

Deckloud runs on iPhone, iPad, Android phones, Mac, Windows, and Linux. It connects to the Nextcloud server you already use.