Files
craig 6eff12e8ac Initial commit — SEO Guidelines & SmartCrawl reference
SmartCrawl plugin reference (11 docs):
- Overview, configuration, titles & meta, schema, sitemaps,
  social/OG, redirects, breadcrumbs, content analysis,
  hooks/filters, known issues

SEO strategy playbook (6 docs):
- Keyword research, per-page-type selection, on-page optimization,
  local SEO, technical SEO, content strategy

Reusable templates (3):
- Site audit checklist, keyword research worksheet,
  page optimization checklist

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 13:32:17 -05:00

4.0 KiB

Hooks and Filters (Developer API)

SmartCrawl exposes 99 documented hooks for developers, using the wds_ prefix. These allow programmatic control over SmartCrawl's output without modifying the plugin directly.

The complete hooks documentation is maintained in the WPMU DEV hooks-documentation repository in the smartcrawl-seo-hooks-doc.html file.

Key Filters

Title and Meta

// Filter the SEO title output
add_filter( 'wds_title', function( $title ) {
    // Modify the title tag output
    return $title;
});

// Filter the meta description output
add_filter( 'wds_metadesc', function( $description ) {
    // Modify the meta description
    return $description;
});

Open Graph

// Customize Open Graph title
add_filter( 'wds_custom_og_title', function( $title ) {
    return $title;
});

// Customize Open Graph description
add_filter( 'wds_custom_og_description', function( $description ) {
    return $description;
});

// Customize Open Graph image(s)
add_filter( 'wds_custom_og_image', function( $images ) {
    // $images is an array of image URLs
    return $images;
});

Defaults and Options

// Filter SmartCrawl default options
add_filter( 'wds_defaults', function( $defaults ) {
    // Modify default option values
    return $defaults;
});

Admin UI

// Control admin bar visibility
add_filter( 'wds-admin-ui-show_bar', function( $show ) {
    // Return false to hide the SmartCrawl admin bar item
    return $show;
});

Sitemap

// Exclude specific taxonomy terms from sitemaps
add_filter( 'wds_terms_sitemap_include_term_ids', function( $term_ids, $taxonomy ) {
    // Remove specific term IDs
    $exclude = array( 15, 23, 42 );
    return array_diff( $term_ids, $exclude );
}, 10, 2 );

// Add extra images to sitemap entries
add_filter( 'wds_sitemap_extra_images', function( $images, $post_id ) {
    // Add additional image URLs for a post
    return $images;
}, 10, 2 );

Key Actions

// Fires after SmartCrawl saves post meta data
// Useful for syncing SEO data with external systems
add_action( 'wds_saved_postdata', function( $post_id ) {
    // Handle post meta save cleanup
    // SmartCrawl uses this internally to handle unchecked checkbox cleanup
});

Common Use Cases

Force a Specific Title on a Page

add_filter( 'wds_title', function( $title ) {
    if ( is_page( 'special-landing-page' ) ) {
        return 'Custom Landing Page Title | Brand Name';
    }
    return $title;
});

Add Custom OG Image for a Post Type

add_filter( 'wds_custom_og_image', function( $images ) {
    if ( is_singular( 'product' ) ) {
        $custom_image = get_field( 'social_share_image' ); // ACF field
        if ( $custom_image ) {
            return array( $custom_image );
        }
    }
    return $images;
});

Hide SmartCrawl Admin Bar for Non-Admins

add_filter( 'wds-admin-ui-show_bar', function( $show ) {
    if ( ! current_user_can( 'manage_options' ) ) {
        return false;
    }
    return $show;
});

Exclude a Specific Category from Sitemap

add_filter( 'wds_terms_sitemap_include_term_ids', function( $term_ids, $taxonomy ) {
    if ( $taxonomy === 'category' ) {
        $exclude = array( get_cat_ID( 'Uncategorized' ) );
        return array_diff( $term_ids, $exclude );
    }
    return $term_ids;
}, 10, 2 );

Hook Naming Convention

All SmartCrawl hooks follow these patterns:

  • Filters: wds_{feature} — e.g., wds_title, wds_metadesc
  • Actions: wds_{event} — e.g., wds_saved_postdata
  • UI filters: wds-{area}-{feature} — e.g., wds-admin-ui-show_bar

Notes

  • The wds_ prefix stands for "WPMU DEV SmartCrawl" (originally "WPMU DEV SEO")
  • 96 of the 99 hooks were undocumented as of the last GitHub update — the three listed above are the most commonly used
  • For the full list, inspect the plugin source code or check the hooks documentation repository
  • Hook availability may vary between SmartCrawl Free and Pro versions