Files to give the dev
File | What it is |
---|---|
linkwhisper-autolink-fixed3.csv | final redirect-free list – one row per target URL with its comma-separated anchors |
STEP-BY-STEP EXECUTION (25 min)
0 Full backup (1 min)
# WP Admin ▸ Plugins ▸ Add New → install “UpdraftPlus”
# Settings ▸ UpdraftPlus ▸ Backup Now → tick Files + DB → Backup
1 Verify Link Whisper Pro (≤ 30 sec)
# WP Admin ▸ Plugins ▸ Installed
# Confirm “Link Whisper Pro” is Active (version ≥ 2.4)
If inactive, upload the current ZIP from your LW account and Activate.
2 Upload the CSV (15 sec)
# WP Admin ▸ Media ▸ Add New → drag-drop linkwhisper-autolink-fixed3.csv
Copy the full path WP shows, e.g.
/wp-content/uploads/2025/05/linkwhisper-autolink-fixed3.csv
3 SSH in & run the import script (4 min)
ssh user@server
cd /path/to/wordpress # WP root
nano import-lw-autolinks.php
Paste exactly (change the $csv
path if WP saved the file in a different month folder):
<?php
/**
* Bulk-create Link Whisper Auto-Link rules from CSV (redirect-free list).
* CSV headers: URL,Keyword (Keyword = comma-separated list)
* Run with: wp eval-file import-lw-autolinks.php
*/
require_once 'wp-load.php';
$csv = fopen( __DIR__ . '/wp-content/uploads/2025/05/linkwhisper-autolink-fixed3.csv', 'r' );
if ( ! $csv ) { echo "CSV not found\n"; exit; }
fgetcsv( $csv ); // skip header
$made = 0;
while ( ( $row = fgetcsv( $csv ) ) !== false ) {
list( $url, $keywords ) = $row;
link_whisper()->auto_linking->save_auto_link( [
'keyword' => $keywords,
'link' => trim( $url ),
'open_new_tab' => false,
'add_to_existing_posts' => true,
'case_sensitive' => false,
'max_links_per_post' => 1,
] );
$made++;
}
echo "Created $made Auto-Link rules.\n";
CTRL + O
→ Enter
, then CTRL + X
.
Run:
wp eval-file import-lw-autolinks.php
Expected output (≈):
Created 251 Auto-Link rules.
(The exact number equals the row count in the CSV.)
4 Trigger the first full scan (20 sec)
wp option update link_whisper_auto_linking_scan_queue_start now
wp cron event run link_whisper_auto_linking_scan_queue_event
5 Seed visible one-liners where anchors are missing (≈ 10 min)
Topic batch | WP-CLI command (copy verbatim) |
---|---|
Taxi / Limo | wp search-replace '</footer>' '<p>Looking for a NYC taxi cab accident lawyer? Contact us today.</p></footer>' --regex --post_type=page,post --post_name__like=taxi |
Head injury | wp search-replace '</footer>' '<p>Wondering if a head injury can cause epilepsy? Learn more here.</p></footer>' --regex --post_type=page,post --post_name__like=head,brain |
Car crash | wp search-replace '</footer>' '<p>Need a Staten Island car accident lawyer? We can help.</p></footer>' --regex --post_type=page,post --post_name__like=car,auto |
(Repeat with additional sentence/slug pairs as needed.)
6 Spot-check (2 min)
# WP Admin ▸ Link Whisper ▸ Reports ▸ Auto Links
# - Every rule should now show outbound links
# - Open a few pages to ensure anchors are visible & clickable
7 Automate upkeep (30 sec)
# WP Admin ▸ Link Whisper ▸ Settings
# Link Reporting Auto-Update = Weekly
# Disable Link Whisper JavaScript on Frontend = ON
8 Quarterly audit reminder (optional)
Calendar note every 3 months:
“Run Screaming Frog → filter ‘Inlinks < 5’ → add anchor sentence if needed.”
DONE ✅
The dev now has a fully accurate checklist; following it will create ≈ 250 Auto-Link rules with zero 301s, and future posts will auto-link without further manual work.