1

我正在使用的 WordPress 主题似乎没有针对开放图形标签进行优化。我更改了这行代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" <?php language_attributes(); ?>>

对此:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" <?php language_attributes(); ?>>

当我通过 FB 上的调试工具运行 url 时,它会看到主页的正确图像,但这是我得到的唯一进展。当试图分享一篇文章时,它根本没有提取任何描述或图像(我使用特色图像),当我检查刮板为网站返回的内容时,FB 调试器会说“文档没有返回数据”。

我之前遇到过 OG 标签的问题,并且通过反复试验解决了这个问题。这真的让我很沮丧。我什至尝试一次添加三个插件来填充标签,然后运行调试器,希望它会给我一个错误消息,说“多个 og 标签”。它不是。我没有以正确的方式在标题中添加代码吗?

我将提供我的整个标题代码以防万一有人需要它。

<?php include( TEMPLATEPATH . '/includes/options.php' ); ?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="en-US" xmlns:og="http://ogp.me/ns#" xmlns:fb="http://www.facebook.com/2008/fbml" <?php language_attributes(); ?>>

<head profile="http://gmpg.org/xfn/11">

<meta http-equiv="Content-Type" content="<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />

<title><?php wp_title('&laquo;', true, 'right'); ?> <?php bloginfo('name'); ?></title>  

<link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/css/screen.css" type="text/css" />
<!--[if lte IE 7]><link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/css/ie.css" type="text/css" media="screen, projection" /><![endif]-->
<!--[if lte IE 6]><link rel="stylesheet" href="<?php bloginfo('template_directory'); ?>/css/ie6.css" type="text/css" media="screen, projection" />
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/nav.js"></script><![endif]-->   

<link rel="alternate" type="application/rss+xml" title="<?php bloginfo('name'); ?> RSS Feed" href="<?php if ( $mb_subscribe_feed ) { echo $mb_subscribe_feed; } else { bloginfo('rss2_url'); } ?>" />
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

<?php if (is_singular()) wp_enqueue_script('comment-reply'); ?>
<?php wp_head(); ?>

<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.qtip.js"></script>
<script type="text/javascript" src="<?php bloginfo('template_directory'); ?>/js/jquery.qtip.style.js"></script>

</head>

<body<?php if ($mb_clean == 1) { echo ' class="clean"'; } ?>>

<!-- header -->
<div id="header"<?php if ($mb_clean == 1) { echo ' class="clean"'; } ?>>
    <div id="header-inner">
        <div id="header-bottom">

            <?php if ($mb_logo == 1) { ?>
            <div id="logo-custom" style="width:<?php echo $mb_logo_width; ?>px; height:<?php echo $mb_logo_height; ?>px;"><a href="<?php bloginfo('home'); ?>"><?php bloginfo('name'); ?><span style="background: url('<?php echo $mb_logo_image; ?>') no-repeat 0 0">&nbsp;</span></a></div>   
            <?php } else { ?>
            <div id="logo"<?php if ($mb_clean == 1) { echo ' class="clean"'; } ?>><a href="<?php bloginfo('home'); ?>"><?php bloginfo('name'); ?><span>&nbsp;</span></a></div>
            <?php } ?>

            <?php if ( !$mb_leaderboard ) echo''; else { ?>
            <div id="ad-leaderboard">
                <?php echo $mb_leaderboard; ?>
            </div>
            <?php } ?>

            <!-- nav -->
            <div id="nav">

                <div id="navlist">
                    <?php mb_nav(); ?>
                </div>

            </div>
            <!-- /nav -->

            <!-- social -->
            <div id="social"<?php if ($mb_clean == 1) { echo ' class="clean"'; } ?>>
                <ul>
                    <?php if ($mb_subscribe_email) { ?><li id="social-email"><a href="<?php echo $mb_subscribe_email; ?>" title="Sign-up for Email Updates">Email Updates</a></li><?php } ?>
                    <?php if ($mb_subscribe_feed) { ?><li id="social-feed"><a href="<?php echo $mb_subscribe_feed; ?>" title="Subscribe to RSS Feed">RSS Feed</a></li><?php } else { ?><li id="social-feed"><a href="<?php bloginfo('rss2_url'); ?>">RSS Feed</a></li><?php } ?>
                    <?php if ($mb_social_twitter) { ?><li id="social-twitter"><a href="<?php echo $mb_social_twitter; ?>" title="Twitter">Twitter</a></li><?php } ?>
                    <?php if ($mb_social_myspace) { ?><li id="social-myspace"><a href="<?php echo $mb_social_myspace; ?>" title="MySpace">MySpace</a></li><?php } ?>
                    <?php if ($mb_social_facebook) { ?><li id="social-facebook"><a href="<?php echo $mb_social_facebook; ?>" title="Facebook">Facebook</a></li><?php } ?>
                </ul>
            </div>
            <!-- /social -->

        </div>
    </div>
</div>
<!-- /header -->
4

1 回答 1

0

首先,DOCTYPE 和打开的 HTML 标记应该是分开的——而不是像你拥有的那样组合在一起。看这里:

https://www.w3schools.com/tags/tag_doctype.asp

最后,使用 Complete Open Graph 之类的插件来设置适当的前缀和 Open Graph 标签。它是自动的,应该可以解决您的问题,除非您想继续手动解决它。

https://wordpress.org/plugins/complete-open-graph/

于 2017-05-01T15:09:19.567 回答