---
title: "Meta Descriptions on Mac: 200 of Them, No Token Bill"
description: "Write meta descriptions for a whole site with a model running on your own Mac. Scrape the pages, draft in bulk, keep every draft on the machine."
date: 2026-08-28
author: "Ben Racicot"
tags: ["SEO", "Text Generation", "Web Scraping", "Privacy", "macOS", "Apple Silicon"]
type: "article"
canonical: "https://modelpiper.com/blog/meta-descriptions-local-model-mac"
---

# Meta Descriptions on Mac: 200 of Them, No Token Bill

> Write meta descriptions for a whole site with a model running on your own Mac. Scrape the pages, draft in bulk, keep every draft on the machine.

## TL;DR

Scrape your own pages for their titles and first paragraphs, then have a local model draft a meta description for each. The drafting is bulk, repetitive and per-token billed everywhere else, which is exactly the shape a model on your own hardware handles well.

Meta descriptions are the least interesting writing task on a site and one of the few that still moves click through rate. They are also the task where a per token bill bites hardest, because the work is bulk and repetitive by nature.

A model running on your own Mac changes the arithmetic. Two hundred descriptions is two hundred short generations against pages you already own, and the marginal cost of the two hundredth is the same as the first.

## Why this task suits a local model

Meta descriptions are short, constrained and formulaic: one sentence, a concrete benefit, under about 160 characters so search engines do not truncate it. That is a narrow job with a clear rubric, which is where a small instruction following model is strongest. You are not asking for insight, you are asking for compression against a template.

The other half is privacy. Draft copy for an unpublished page is business information, and this loop never sends it anywhere.

Start with what this does not do. There is no search volume here, no keyword difficulty, no cost per click, no backlink index, no domain overview, no stored rank history and no site crawler. If you need any of those, a vendor backed suite such as OpenSEO has them and ToolPiper does not. OpenSEO is open source under MIT with nine agent skills, and its data is metered through DataForSEO on every keyword, SERP and backlink call. Verified 2026-08-28.

## How the loop runs

Read your sitemap for the page list, scrape each page for its title and opening content, then send each one to a local model with a system prompt that fixes the shape. Review the output, because a first draft is a draft. The value is that reviewing two hundred drafts is a different job from writing two hundred descriptions.

## What you need

macOS 26 or later on Apple Silicon, ToolPiper, and a text model. Apple Intelligence is on the machine already and is well suited to summarisation and extraction. A small GGUF model through the bundled engine gives you more control over tone.

## Limits worth knowing before you start

ToolPiper needs macOS 26 or later on Apple Silicon, and the SERP capture drives Google Chrome over the DevTools Protocol, so Chrome has to be installed. One capture is a sample, not a measurement: AI Overview presence rotates by session, location and personalisation, so a single run tells you what happened once, in your browser, from where you are sitting. Search Console tools sit behind Google OAuth on your own account.

## Try it

Download ToolPiper, point the loop at ten pages first, and read every draft before you scale it to the whole site. The rung badge above names the plan the scraping half sits on, resolved from the pricing catalog.

_Part of the SEO tools guide for Mac. The roundup covers SERP capture, keyword discovery, rank checks, Search Console and listening in one place._

## Steps

### 1. Get the page list from your sitemap

Point the scraper at `/sitemap.xml` and take the URLs. This is more reliable than crawling links, because the sitemap is the list you already publish as canonical, and it skips the pages you deliberately do not index.

### 2. Scrape each page for its title and opening content

Fetch each URL in the readability format. It returns the page title, the existing meta description if there is one, and the main content with navigation stripped. The existing description matters: you want to know which pages are missing one and which are merely weak.

### 3. Draft against a fixed rubric

Send each page to a local model with a system prompt that pins the shape: one sentence, concrete benefit first, under 160 characters, no marketing filler, no repetition of the title. A fixed system prompt is what makes two hundred outputs consistent rather than two hundred different voices.

### 4. Review, then write them back

Read every draft. A local model will occasionally describe a page it half understood, and a wrong description is worse than a missing one. Fix or discard, then write the survivors into your templates or content files.

## FAQ

### Which model should I use?

Apple Intelligence is already on the machine and handles summarisation and extraction well. For more control over tone, a small instruction following GGUF model through the bundled engine works and stays fast enough for bulk drafting.

### How long should a meta description be?

Aim under about 160 characters. Longer descriptions get truncated in results, which usually cuts the part you cared about.

### Does the page content leave my Mac?

The scrape fetches your pages over the network, which is a request to your own site. The drafting runs on the local model, so the generated copy is not sent anywhere.

### Can it tell me whether the new description improved click through rate?

Not by itself. Search Console is where that shows up: compare click through rate for the page before and after, and give it enough time for the change to be re-crawled.
