Recently, after researching comment links for an upcoming article, I realized that my default
<input> values were being submitted as the URL for all comments left without associated website information. During the most recent site redesign, I made the mistake of doing this in comments.php:
... <input class="input" name="url" id="url" value="[website]" onfocus="this.select();" type="text" tabindex="3" size="44" maxlength="133" alt="website" /> ...
value="[website]" attribute? It seemed like a good idea at the time — I even threw in a nice
onfocus auto-highlighting snippet for good measure. I ran the form with this in place for around eight weeks before finally noticing multiple comments using this for their site URL:
Having learned this important lesson, I immediately restructured the comment form, replacing all predefined
value attributes with blank values (
value=""). Then, with all future occurrences prevented, it was time to clean up the mess. And for that, there are two possibilities:
- Scour the comments section via the admin and edit each URL link manually
- Crack open the database for a two-second batch-edit via SQL
update, aka “find and replace”
Fortunately, there were fewer than twenty links erroneously referencing
http://website, so manually editing all of them would not have taken longer than fifteen minutes at the most. Even so, there are far better ways to spend those fifteen minutes, so I chose the direct approach:
UPDATE wp_comments SET comment_author_url = replace( comment_author_url, 'http://website', '' ) ;
And with that, everything was corrected and returned to normal. Mystery solved, lesson learned. Thanks for listening.