A guide to the Page Signals Chrome extension — content extraction, SEO audits, link and image analysis, and live Search Console data from one popup.
I built Page Signals because I kept doing the same thing on every page — opening DevTools for the meta tags, switching to an extension for headings, pulling up another one for links, then jumping to a Search Console tab to check performance. Each tool worked fine on its own. But doing that sequence across dozens of pages during a content audit or competitive analysis meant a lot of friction for what should be fast, routine checks.
So I put it all in one place. Click the icon, get five tabs: the page’s full content, its SEO metadata and heading structure, every link and image in the body, and how it’s performing in organic search. Four of the five tabs work immediately on any page with no setup — only the Search Console tab needs a one-time connection.
This post covers what each tab does and where it fits into the workflow.

Extract the actual content from any page
The Full Content tab pulls the main body content from whatever page you’re viewing — the article, the blog post, the page copy — and leaves everything else behind. One click to extract, one click to copy. You’re mid-workflow in an AI chat and need the full page? It’s on your clipboard in two seconds. The extraction filters out everything that isn’t the actual content — navigation, sidebars, footers, related post blocks, newsletter signup forms, share widgets, author bio boxes, cookie banners. All stripped out automatically.
If you’ve ever copy-pasted a blog post into ChatGPT or Claude, you know why this matters. You end up with nav links, “you may also like” sections, and footer content mixed into your prompt. The AI has to sort through all of that instead of focusing on the content you actually care about.
The extraction works across platforms — WordPress, Ghost, Medium, Substack, Webflow, custom-built sites — and it handles the edge cases that simpler extractors miss. Content that lives inside unusual containers, H1 tags placed in hero sections outside the main article element, images wrapped in <figure> tags with captions. The output is clean, structured content with headings, paragraphs, lists, links, images, blockquotes, code blocks, and tables all intact.
Text and Markdown views
A toggle at the top of the tab switches between two views.
Text view renders the content as formatted HTML. Copy it, and rich formatting pastes directly into Google Docs, Notion, or Word — headings, bold, links, everything preserved.
Markdown view shows the raw Markdown. Copy it, and the clipboard actually receives two formats simultaneously: Markdown as plain text and formatted HTML as rich text. Paste into an AI chat and it gets the Markdown. Paste into a rich editor and it renders beautifully. One copy action, both formats.

Why Markdown changes the AI conversation
The difference between pasting plain text and pasting Markdown into an AI tool is the difference between “here’s a wall of text, help me improve it” and “here’s a structured document with specific headings, sections, and hierarchy — give me targeted feedback.”
With Markdown, the AI sees your H2s and the sub-sections nested beneath them, your list structures, your internal links, your images and their placement, your blockquotes. It’s not just the words — it’s how the content is built. The analysis gets more specific: instead of vague suggestions to “reorganize your content,” you get feedback tied to actual sections and structural decisions.
Combine the Markdown export with the performance data from the Metrics tab — the keywords you’re ranking for, how traffic is trending — and you’re giving the AI the context it needs to make suggestions grounded in real data, not guesswork.
Try this → Copy the markdown and pair it with this Content Refresh Skill/Prompt
Run a quick SEO health check
The Outline tab is the 2-minute sanity check. It surfaces the metadata and heading structure that would otherwise mean opening DevTools and digging through <head> tags.
META section
Five fields — Title, Description, Author, Published, and Modified — each pulled from the most reliable source the page offers.
Title prefers the clean version without the ”| Site Name” suffix that most CMS platforms append. Author cross-references structured data, meta tags, and DOM elements, because surprisingly few sites make the author easy to find programmatically. Published and Modified dates include relative freshness indicators — “2 months ago,” “8 days ago” — so you can gauge content age at a glance without doing the math on a raw timestamp.
Character count badges on the Title and Description fields are color-coded against Google’s SERP display thresholds — green if you’re safely within limits, amber at the boundary, red if it’s likely getting truncated. The format shows current/max (e.g., “52/60”), so you can see exactly how much room you have without reaching for a separate character counter. Both fields have copy buttons for quickly grabbing the current meta text — useful for optimization briefs or AI prompts.

HEADINGS section
Every content heading in document order, visually indented by level. H1 gets a distinctive orange left border. The same content filtering that powers the Full Content tab applies here — headings from related post blocks, table-of-contents widgets, and sidebars don’t appear. You’re looking at the actual content hierarchy, nothing else.
A “Copy Headings” button grabs the entire heading tree for pasting into content briefs, audit spreadsheets, or AI prompts focused on structure.
The quick-glance tab
You land on a page and want to know: Is the title optimized and within display limits? Is the description compelling or getting cut off? Is there exactly one H1? Does the heading hierarchy flow logically? When was this last updated?
All visible the moment you click the tab. For pre-publish checks, competitive scans, or content audits — this is probably the tab you’ll visit most often after Full Content.
Audit every link on the page
The Links tab inventories every editorial link in the content area — not navigation, not footer links, not template elements. Each link shows in a grid with its anchor text, a type classification (text link, image link, button, PDF, document, etc.), the destination URL, and a status column.
Status checking
Hit “Check Status” and the extension runs HEAD requests against every unique URL. Results come back as colored badges — green for healthy, amber for redirects, red for broken or unreachable — and the status bar at the top tallies the counts in real time.
One detail that matters if you do link audits regularly: the status check captures the initial response, not the final destination after following redirects. A 301 shows as a redirect even if it ultimately resolves to a healthy page. This is what you want — redirect chains add latency, they signal neglected content architecture, and from a crawl efficiency standpoint you’d rather have clean links than chains for Googlebot to resolve. The tab surfaces these so you can update them to point directly to the current URL and eliminate redirect hops.
Full-site crawlers of course catch these things too, but not when you’re on a single page mid-workflow and want a quick read on links.

Locate on page
Every row has a crosshair button that scrolls the actual webpage to that link and highlights it with a brief pulsing animation. Useful for finding a broken link in context — the editorial surroundings often determine how urgent the fix is and what the right replacement might be.
Tooltips throughout the grid show full anchor text and full URLs on hover, since both frequently get truncated in the columns.
Audit every image on the page
The Images tab follows the same approach — a grid of every content image with the metadata that matters for SEO and performance. Each row shows the alt text, file size, dimensions, format, and a thumbnail preview you can click to open the full image. Same locate-on-page crosshair button as the Links tab.
Alt text at a glance
The status bar immediately tells you how many images have alt text and how many don’t. In the grid, missing alt text is flagged in amber italic — easy to spot while scanning. The extension checks multiple sources beyond just the alt attribute (aria-label, title, figcaption, parent link text) before flagging something as missing, so the count is accurate.
File size and format
Files over 500KB display in red. Combined with the format and dimensions columns, you can quickly spot optimization opportunities — a 2 MB JPEG at 4000×3000 that could be a fraction of that size in WebP at display dimensions.
Thumbnails on the right let you visually confirm what each image is — particularly useful when you find a missing alt text entry and need to see what the image actually shows before writing a description.

Check the actual search performance
The Metrics tab connects to your Google Search Console account and shows organic performance for the specific URL you’re viewing — clicks, impressions, CTR, and average position over the last 7, 14, or 28 days, each with a comparison against the prior period.
Below the metric cards, a Keywords section shows the top queries driving impressions to this page, with individual clicks, impressions, CTR, and position for each. A “Copy Keywords” button exports them as tab-separated values that paste cleanly into a spreadsheet.
Connecting
One-time setup: click “Connect Google Search Console,” authorize through Google’s standard OAuth flow, and the connection persists across sessions. The extension requests read-only access — it can view your data but can’t modify anything — and all data stays local to your browser. Disconnect anytime from the account dropdown.
If you navigate to a site that isn’t in your Search Console properties, the tab tells you clearly and lists the properties you do have connected. No confusing error states.

Content analysis meets search data
The real value is having performance data right next to everything else.
You notice a page has strong impressions but low CTR. Switch to the Outline tab and the title is 72 characters — red badge, definitely getting truncated. Copy the title, copy the keywords from Metrics, and you have everything you need to write a better one in under a minute.
Or you see position and clicks declining. Switch to Full Content, export the Markdown, paste it into an AI tool alongside the keyword list and the performance trend. The AI now has structured content and real data to work with — the suggestions it gives back are dramatically more actionable.
That cycle — performance data informing content decisions, content analysis grounded in search data — is what the five tabs are designed to support together.
Put it all together
Each tab is useful on its own, but they’re designed to work as a system. The most common power-user workflow brings them all together:
Start with Metrics. What keywords is this page ranking for? How are clicks and position trending? Is there a CTR problem or a ranking problem? This sets the direction for everything else.
Check the Outline. Is the title getting truncated? Is the description compelling for the keywords people are actually searching? Is the heading hierarchy clean? How old is this content?
Scan Links and Images. Any broken links dragging things down? Any redirect chains worth cleaning up? Missing alt text? Oversized images hurting load time?
Extract the content. Switch to Full Content, toggle to Markdown, copy. You now have structured content ready for AI-assisted analysis.
Feed it all to your AI tool of choice. The Markdown gives the AI structure. The keyword list and performance data give it context. The result is specific, actionable suggestions tied to real search behavior — not generic “add more keywords” advice.
The whole thing takes a few minutes per page. For content refresh planning, competitive analysis, pre-publish checks, or building audit spreadsheets — it’s the same five tabs, the same workflow, adapted to whatever the page needs.
A few things worth knowing
The extension only runs when you click the icon. No background activity, no browsing monitoring, no automatic analysis.
Everything is local. Content extraction, metadata parsing, image analysis — all happens in your browser. The only network requests are HEAD requests for link status checking and Google API calls for Search Console data.
Dark mode is available from the toggle in the sidebar footer. Preference persists across sessions.
No account needed for 4 of 5 tabs. Full Content, Outline, Links, and Images work immediately on any page. Only Metrics requires a Search Console connection.
Get Page Signals
Page Signals is free. No account required, no premium tier, no usage limits.
→ Add to Chrome (Chrome Web Store)
→ Learn more (feature overview and screenshots)
If you have feedback or run into anything unexpected, I’d love to hear about it — feel free to drop me a note here.
I built this for my own workflow first. Hopefully it’s useful for yours too.