如何处理include_once php urls?

时间:2016-01-22 09:00:45

标签: php include-once

我正在构建一个静态站点并尝试在代码上进行一些模块化。使用include_once解决了我的问题,但新创建的section.php文件被视为服务器上的另一个URL,恕我直言创建了一个SEO问题 - 重复内容。薄的理论,但仍然。 是否有任何解决方案可以使用include_once并将这些包含的文件标记为不存在爬虫?

只是一个代码示例,以更好地定义问题所在。

index.php如下所示:

<div id="wrapper">
    <?php include_once ('header.php'); ?>
    <div id="content">
        <h1>Title</h1>
        <p>Page content</p>
    </div>
</div>

header.php如下所示:

<div id="header">
    <ul class="menu">
        <li>
            <a href="/">Home</a>
        </li>
        <li>
            <a href="#">About</a>
        </li>
        <li>
            <a href="#">Contact</a>
        </li>
    </ul>
</div>

生成的代码会像这样呈现:

<div id="wrapper">
    <div id="header">
        <ul class="menu">
            <li>
                <a href="/">Home</a>
            </li>
            <li>
                <a href="#">About</a>
            </li>
            <li>
                <a href="#">Contact</a>
            </li>
        </ul>
    </div>
    <div id="content">
        <h1>Title</h1>
        <p>Page content</p>
    </div>
</div>

header.php是服务器上的另一个文件,可以被搜索引擎索引,因为它有自己的URL。问题可能是愚蠢的,可能有最简单的答案,我只是不知道我是否应该使用重定向或其他一些调整。

谢谢!

1 个答案:

答案 0 :(得分:1)

你可以通过多种方式实现。

  1. 添加Robots.txt文件
  2. 在您附带的文件中添加一个用于身份验证的密钥变量。
  3. 1- Robots.txt:
    将其保存为您网站根目录中的Robots.txt。

    User-agent: *
    Disallow: /elements
    

    将文件保存在elements文件夹中。无论元素文件夹中是什么,Google和其他搜索引擎的Crawler都不会抓取它。这绝不会列在搜索结果中。

    2-使用密钥身份验证 index.php将如下所示:

    &GT;

    <div id="wrapper">
         <?php $key = 'allow_this'; ?>
        <?php include_once ('header.php'); ?>
         <div id="content">
            <h1>Title</h1>
             <p>Page content</p>
         </div> </div>
    

    header.php如下所示:

    <?php if($key=='allow_this'){ ?>
    <div id="header">
        <ul class="menu">
            <li>
                <a href="/">Home</a>
            </li>
            <li>
                <a href="#">About</a>
            </li>
            <li>
                <a href="#">Contact</a>
            </li>
        </ul>
    </div>
    <?php } ?>