在 WordPress 中,使用 WPCode 插件(或手动在 functions.php 中)添加代码来自动完善图片 SEO 是一个非常高效的方法。这通常通过获取图片文件名并将其自动填充到图片的 替代文本 (Alt Text)、标题 (Title) 和 描述 (Description) 中来实现。
你可以将以下代码添加到 WPCode 的 New Snippet 中(类型选择 PHP Snippet):
自动添加图片 SEO 属性代码
add_action('add_attachment', 'tm_set_image_meta_by_post_title');
function tm_set_image_meta_by_post_title($post_ID) {
// --- 自定义设置 ---
$default_prefix = "官方站"; // 如果图片不是在文章里上传的,使用的回退前缀
$separator = " - "; // 分隔符
// ------------------
if (wp_attachment_is_image($post_ID)) {
$final_prefix = $default_prefix;
// 获取图片所属的文章(父级)
$post_parent_id = get_post($post_ID)->post_parent;
// 如果图片是在文章/页面内上传的
if ($post_parent_id) {
$parent_post = get_post($post_parent_id);
if (!empty($parent_post->post_title)) {
// 获取文章标题
$final_prefix = $parent_post->post_title;
}
}
// 1. 获取并美化文件名(去除连字符、转为首字母大写)
$raw_title = get_post($post_ID)->post_title;
$clean_title = preg_replace('%\s*[-_\s]+\s*%', ' ', $raw_title);
$clean_title = ucwords(strtolower($clean_title));
// 2. 拼接:文章标题 + 分隔符 + 图片文件名
$final_seo_text = $final_prefix . $separator . $clean_title;
// 3. 更新图片所有的 SEO 属性
$my_image_meta = array(
'ID' => $post_ID,
'post_title' => $final_seo_text, // 标题
'post_excerpt' => $final_seo_text, // 摘要/说明
'post_content' => $final_seo_text, // 描述
);
// 特别更新 Alt Text (对 Google 图片搜索最重要)
update_post_meta($post_ID, '_wp_attachment_image_alt', $final_seo_text);
// 执行数据库更新
wp_update_post($my_image_meta);
}
}
在 WPCode 中设置:
- 进入 WPCode > + Add Snippet。
- 选择 Add Your Custom Code (New Snippet)。
- 将 Code Type 更改为 PHP Snippet。
- 将上面的代码粘贴进去。
- 在下方 Insertion 选项中,确保选择 Auto Insert,位置为 Everywhere。
- 将右上角的开关从 Inactive 切换为 Active,然后点击 Save Snippet。
代码说明:
$my_prefix: 你可以将它修改为你的网站名、品牌名或者特定的关键词(例如:2025新款)。$separator: 这是前缀和文件名之间的连接符,常用的有空格、短横线-或 竖线|。- 最终效果示例:
- 上传文件名:
running-shoes.jpg - 设置的前缀:
我的商店 - 生成的 Alt/标题:
我的商店 - Running Shoes
- 上传文件名:
- 如果是写文章上传,图片名以文章名作为前缀,前提要先写好文章名。
0条评论