动态网址生成器故障

时间:2014-10-30 10:37:29

标签: php yii seo dynamic-url

我们在Yii上建立网站(1.1.13);它是car pare parts shop & transaction management engine。 当它给SEO公司进行搜索引擎优化检查时,该公司得出结论:

  1. 找到15000个动态网址('显然不是全部' - 我的评论)
  2. ~8 000他们似乎很长,像这样:http://tarex.ru/index.php?r=assortment/index&id=1536&Subsystem=Warehouse+automation&Reference=Assortment&Assortment_page=9&Assortment_sort=title.desc
  3. 现在只有300页在搜索引擎中注册。
  4. 其中500个是错误的网址或没有响应(响应代码500)。 Ulrs是这样的: http://tarex.ru/index.php?r=assortment/index&Assortment[groupCategory]=4&Assortment_page=46&Assortment_sort=agroup.desc('最有可能导致分类重新加载/在db中续订 - 我的评论)。 他们表示这些失败(针对第4点)是动态网址生成器失败的原因
  5. 数据库中的分类每天都会动态更新。

    该公司建议解决动态网址生成器问题或不使用它有利于用户友好的URL / SEO友好的URL。

    如何修复动态网址生成器失败以及是否可以使用smth。还是按照建议吗?

    更新

    到目前为止,网址管理配置已关闭:

    // uncomment the following to enable URLs in path-format
        /*
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                '<controller:\w+>/<id:\d+>'=>'<controller>/view',
                '<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
                '<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
            ),
        ),
        */
    

    当我取消注释它时,该网站运行良好但是一些子系统菜单不起作用的原因是绑定到一些GET参数......

1 个答案:

答案 0 :(得分:0)

最近为一家商店做了类似的事。

通常你会这样做:

1)对于每个动态网址动态使其成为干净的网址

2)从旧网址重定向到干净网址。

3)利润!

现在详情如下:

最棘手的部分是了解是否可以形成新网址,如果是,则重定向到它。我想你可以在customUrlRule(有点脏)或控制器(我更喜欢)中这样做。

让我们假设你选择了一个控制器: 在控制器的操作中,确定是否有来自的新网址用户。如果有AND REQUEST URL!== NEW URL,您只是继续使用控制器逻辑。如果没有,您将重定向到新网址。如果

,我觉得它应该很舒服

1)两个url类型都使用或不同的控制器和操作进行处理,并包含上述逻辑。

2)您正在使用某种方法来提供新旧类型的URL,并将相同的参数传递给它们。例如,您可以将Yii :: app() - &gt; createUrl($ params)用于新类型的Url,以及一些自定义方法,即$ myModelInstance-&gt; createUrl($ params)

3)正在使用custom URL rule

构建和处理新网址

4)在您的网址管理器中,您拥有新网址的自定义规则以及此优先级中旧网址的普通规则。

总结

如果用户来自旧URL,则执行控制器操作,进行一些额外的检查。我们正在检查是否可以构建新的URL,我们还可以检查一些其他的东西,即与一些额外的seo url数据库同步,以了解是否需要重定向此URL。 如果可以构建新的URL - 我们将重定向到它。 浏览器请求一个请求,该请求使用您的自定义URL规则进行解析,并执行相应的控制器和操作。