No description
Find a file
David V. Kimball b12d7a5251 Remove release attestation until the directory verifier is fixed; bump to 0.5.3
Attestations signed by GitHub since July fail the Obsidian directory's attestation verifier (signature invalid) even though GitHub's own gh attestation verify passes them: 0.5.0 (signed in May) passed review, while 0.5.1 (old action versions) and 0.5.2 (current action versions) both failed identically. Drop the attest step so the directory relies on its byte-for-byte build reproduction check, which this repo passes. Also remove a now-unnecessary non-null assertion in results-display and refresh the styles.css header so both release assets get new digests, detaching them from the rejected attestations.
2026-07-16 22:48:01 -07:00
.agent Refactor core infrastructure and implement weighted SEO scoring 2026-02-05 15:00:17 -08:00
.github Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00
scripts New obsidian-dev-skills setup. 2026-01-23 16:04:31 -08:00
src Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00
.editorconfig Initial commit 2025-10-01 22:14:23 -07:00
.gitignore Refactor core infrastructure and implement weighted SEO scoring 2026-02-05 15:00:17 -08:00
AGENTS.md Refactor core infrastructure and implement weighted SEO scoring 2026-02-05 15:00:17 -08:00
CLAUDE.md Upgraded agents to openskills. 2026-01-21 16:08:37 -08:00
CONTRIBUTING.md Bump to 0.4.4 with scorecard improvements. 2026-05-13 15:11:20 -07:00
esbuild.config.mjs Drop the inline sourcemap from production builds for reproducibility 2026-05-15 23:04:27 -07:00
eslint.config.mjs Bump to 0.4.4 with scorecard improvements. 2026-05-13 15:11:20 -07:00
LICENSE License update and legacy Obsidian version double line header fix. 2026-01-02 23:32:04 -08:00
manifest.json Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00
package.json Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00
pnpm-lock.yaml Lock file fixed 2026-05-28 21:09:48 -07:00
README.md Match README title to manifest plugin name (Obsidian directory naming policy); bump to 0.4.9 2026-05-27 09:38:11 -07:00
styles.css Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00
tsconfig.json Major code refactoring. 2025-10-04 22:53:32 -07:00
version-bump.mjs Initial commit 2025-10-01 22:14:23 -07:00
versions.json Remove release attestation until the directory verifier is fixed; bump to 0.5.3 2026-07-16 22:48:01 -07:00

Search Engine Optimization

A comprehensive SEO analysis plugin for Obsidian that helps you optimize your notes for better discoverability and search engine ranking.

obsidian-seo-preview

Made for Vault CMS

Part of the Vault CMS project.

Features

SEO Auditing

  • Current Note Check - Analyze the currently open note
  • Vault-wide Scan - Check all notes in specified directories

Comprehensive SEO Checks

Content Quality

  • Content Length - Minimum word count threshold
  • Reading Level - Analyzes readability and complexity
  • Keyword Density - Optimal keyword usage
  • Duplicate Content - Detects similar content across notes
  • Duplicate Titles - Identifies duplicate titles across vault
  • Duplicate Descriptions - Finds duplicate meta descriptions

Technical SEO

  • Title Optimization - Proper title length and structure
  • Meta Description - Properties description validation
  • Keyword in Title - Ensures keywords appear in titles
  • Keyword in Description - Validates keyword presence in descriptions
  • Keyword in Slug - Checks keyword inclusion in filenames
  • Heading Structure - Proper H1-H6 hierarchy
  • Media Alt Text - Missing alt text detection for images, videos, embeds, etc.
  • Image Naming - SEO-friendly image filename patterns
  • Broken Links - Detects non-existent internal links
  • Potentially Broken Links - Identifies links that may be broken
  • External Links - Validates external link accessibility
  • Naked Links - Identifies unformatted URLs
  • Broken Embeds - Detects potentially broken embedded content

User Experience

  • Flexible Sorting - Sort by issues, warnings, or filename
  • One-click Navigation - Jump directly to problematic files
  • Caching - Fast subsequent scans with intelligent cache management
  • Configurable Settings - Customize all checks and thresholds

Commands

Command Description
Open current note audit Open the current note audit panel
Open vault audit Open the vault-wide audit panel
Run current note audit Open panel and run audit on current note
Run vault audit Open panel and run audit on all notes

SEO Score System

The plugin uses a weighted scoring system that prioritizes critical SEO factors:

  • Critical Issues (10x weight): Broken links, missing titles
  • Important Issues (5x weight): Missing alt text, meta descriptions
  • Moderate Issues (3x weight): Content length, readability
  • Minor Issues (1x weight): Warnings and notices

Score Range: 40-100 (40 = needs work, 100 = excellent)

Usage

Quick Current Note Check

  1. Open any markdown file
  2. Use command "Run current note audit"
  3. Review issues, warnings, and notices

Vault-wide Analysis

  1. Configure scan directories in settings
  2. Use command "Run vault audit"
  3. Review comprehensive analysis with sorting options
  4. Click any file to open and fix issues

Performance Optimization

  • First scan builds cache (slower)
  • Subsequent scans use cache (much faster)
  • Cache automatically expires after 24 hours

Installation

  1. In Obsidian, go to Settings > Community plugins (enable it if you haven't already).
  2. Search for SEO and click Install and then Enable.

Manual

  1. Download the latest release from the Releases page and navigate to your Obsidian vault's .obsidian/plugins/ directory.
  2. Create a new folder called seo and ensure manifest.json, main.js, and styles.css are in there.
  3. In Obsidian, go to Settings > Community plugins (enable it if you haven't already) and then enable "SEO."

Privacy & Security

Note: This plugin includes an optional external link checking feature that requires an internet connection. This feature is disabled by default and can be enabled in the plugin settings if desired. All other SEO checks work entirely offline.

Contributing

Submit issues or pull requests on the GitHub repository. Contributions to enhance features, improve documentation, or fix bugs are welcome!