FWR Media

ULTIMATE Seo Urls 5 - by FWR Media

4,281 posts in this topic

UPDATE: Revision 63 uploaded.

 

This is a tiny revision and DOES NOT warrant an upgrade from previous revision 59

 

Revision 59 was missing a tiny bit of SQL which can be added to revision 59 simple by running the following in phpMyAdmin:

 

UPDATE `configuration` SET use_function = 'tep_reset_cache_data_seo_urls'
WHERE `configuration_key` = 'SEO_URLS_CACHE_RESET';

 

I also clarified a couple of points in the install instructions.

 

All currently known issues have been addressed in revision 63.

Share this post


Link to post
Share on other sites

Great job on taking into your hand to update chemo great contribution.

I am yet to try it our but will do this as soon as I can. I have throught the few years of use of the 2 series, made a few changes to include rewriting of some other pages, I will get back to you with those to see if they can be included here as standard.

 

By the way, are languages handled in series 5 (I mean to we have a rewrite like www.domain.com/uk, /fr, /de/ etc...). i know I have seen talk about this in a few places, so i was wondering :)

 

To finish just a small contribution for the french character conversion here is the one I would use:

 

  // French
 $char_convert = array('à' => 'a', 'â' => 'a', 'æ' => 'ae', 'ç' => 'c',
					'é' => 'e', 'è' => 'e', 'ê' => 'e', 'ë' => 'e',
					'î' => 'i', 'ï' => 'i', 'œ' => 'oe', 'ô' => 'o',
					'ù' => 'u', 'û' => 'u', 'À' => 'A', 'Â' => 'A',
					'Æ' => 'AE', Ç' => 'C', 'È' => 'E', 'É' => 'E',
					'Ê' => 'E', 'Ë' => 'E', 'Î' => 'I', 'Ï' => 'I',
					'Œ' => 'OE', 'Ô' => 'O', 'Ù' => 'U', 'Û' => 'U',
					'€' => 'Euros');

Edited by Phocea

Share this post


Link to post
Share on other sites

Hi Robert,

I added the small sql fix. Your Revision 63.

 

I use frontpage and frontpage tends to create files within all folders...

 

I feel like the odd one out here. But there may be a few others still floating around using frontpage.

 

This is the error message received when resetting cache:

Warning: unlink(/............../includes/modules/ultimate_seo_urls5/cache/_vti_cnf) [function.unlink]: Is a directory in /............/catalog/admin/includes/functions/general.php on line 1357

 

The easy fix was to just delete my extra/added _vti_cnf file from the folder via any ftp editor or through server control panel. That works and should be ok so long as I avoid the cache folder. Not a big deal but thought I would mention it should anyone else be using frontpage to maintain their site.

Share this post


Link to post
Share on other sites
Great job on taking into your hand to update chemo great contribution.

I am yet to try it our but will do this as soon as I can. I have throught the few years of use of the 2 series, made a few changes to include rewriting of some other pages, I will get back to you with those to see if they can be included here as standard.

 

By the way, are languages handled in series 5 (I mean to we have a rewrite like www.domain.com/uk, /fr, /de/ etc...). i know I have seen talk about this in a few places, so i was wondering :)

 

To finish just a small contribution for the french character conversion here is the one I would use:

 

  // French
 $char_convert = array('à' => 'a', 'â' => 'a', 'æ' => 'ae', 'ç' => 'c',
					'é' => 'e', 'è' => 'e', 'ê' => 'e', 'ë' => 'e',
					'î' => 'i', 'ï' => 'i', 'œ' => 'oe', 'ô' => 'o',
					'ù' => 'u', 'û' => 'u', 'À' => 'A', 'Â' => 'A',
					'Æ' => 'AE', Ç' => 'C', 'È' => 'E', 'É' => 'E',
					'Ê' => 'E', 'Ë' => 'E', 'Î' => 'I', 'Ï' => 'I',
					'Œ' => 'OE', 'Ô' => 'O', 'Ù' => 'U', 'Û' => 'U',
					'€' => 'Euros');

 

Thanks very much Phocia

 

Always very nice when someone "bothers" to contribute .. I'll change the french file and hope I don't destroy the encoding :)

Share this post


Link to post
Share on other sites
Hi Robert,

I added the small sql fix. Your Revision 63.

 

I use frontpage and frontpage tends to create files within all folders...

 

I feel like the odd one out here. But there may be a few others still floating around using frontpage.

 

This is the error message received when resetting cache:

Warning: unlink(/............../includes/modules/ultimate_seo_urls5/cache/_vti_cnf) [function.unlink]: Is a directory in /............/catalog/admin/includes/functions/general.php on line 1357

 

The easy fix was to just delete my extra/added _vti_cnf file from the folder via any ftp editor or through server control panel. That works and should be ok so long as I avoid the cache folder. Not a big deal but thought I would mention it should anyone else be using frontpage to maintain their site.

 

Thanks Debs I'll post back a solution.

 

The fact that it may be "just you" at the moment is a non issue .. the code has to be fully portable.

Edited by FWR Media

Share this post


Link to post
Share on other sites
Hi Robert,

I added the small sql fix. Your Revision 63.

 

I use frontpage and frontpage tends to create files within all folders...

 

I feel like the odd one out here. But there may be a few others still floating around using frontpage.

 

This is the error message received when resetting cache:

Warning: unlink(/............../includes/modules/ultimate_seo_urls5/cache/_vti_cnf) [function.unlink]: Is a directory in /............/catalog/admin/includes/functions/general.php on line 1357

 

The easy fix was to just delete my extra/added _vti_cnf file from the folder via any ftp editor or through server control panel. That works and should be ok so long as I avoid the cache folder. Not a big deal but thought I would mention it should anyone else be using frontpage to maintain their site.

 

Debs

 

admin/includes/functions/general.php

 

Find function tep_reset_cache_data_seo_urls($action = false){

 

Change the whole function to ..

 

// ULTIMATE Seo Urls 5 by FWR Media
// Reset the seo urls cache
function tep_reset_cache_data_seo_urls($action = false){
 if ( $action == 'reset' ){ 
$path_to_cache = realpath(DIR_FS_CATALOG . DIR_WS_MODULES . 'ultimate_seo_urls5' . DIRECTORY_SEPARATOR . 'cache') . DIRECTORY_SEPARATOR;
$it = new DirectoryIterator($path_to_cache);
while( $it->valid() ){
  if ( !$it->isDot() && is_readable($path_to_cache . $it->getFilename()) && (substr($it->getFilename(), -4) == '.cache') ){
	unlink($path_to_cache . $it->getFilename());
  }
  $it->next();
}
tep_db_query("UPDATE " . TABLE_CONFIGURATION . " SET configuration_value='false' WHERE configuration_key='SEO_URLS_CACHE_RESET'");
 }	   
}

 

Let me know how it goes please.

Share this post


Link to post
Share on other sites

Your fix for reset cache with frontpage _vti_cnf folders works perfect.

 

I noticed something that you may want to check...

 

It is not because of this last frontpage fix but perhaps with the last sql update.

 

My cache file seems to recreate/write itself with every page load. Even if the page is the same page. Please check your cache created date/time and see if it writing it with every page load as well.

Share this post


Link to post
Share on other sites
Your fix for reset cache with frontpage _vti_cnf folders works perfect.

 

I noticed something that you may want to check...

 

It is not because of this last frontpage fix but perhaps with the last sql update.

 

My cache file seems to recreate/write itself with every page load. Even if the page is the same page. Please check your cache created date/time and see if it writing it with every page load as well.

 

That is exactly what it does .. it builds itself as you/users click on certain categories etc until it is fully built .. then on each page load the cache is loaded and resaved. I see your point though .. makes a "cache life" irrelevant .. then again perhaps it IS irrelevant .. we don't need a new cache unless we change products etc and if we do that the admin panel deletes the cache anyway!

 

I'll have a look at method to check if the cache is exactly the same before the resave.

Edited by FWR Media

Share this post


Link to post
Share on other sites

Perfect then. Thank you!

Share this post


Link to post
Share on other sites
Thanks very much Phocia

 

Always very nice when someone "bothers" to contribute .. I'll change the french file and hope I don't destroy the encoding :)

 

No problem ..watch out for the attached oe which doenst seems to display properly on this forum...

Also I guess that currency signs could be converted as standard in each languages file

Share this post


Link to post
Share on other sites
Hi Steve

 

Imo SID killer should be shot and then buried without due ceremony .. special characters can be done in two ways.

 

1) put nothing in the includes/modules/ultimate_seo_urls5/includes/character_conversion directory

Then use the admin settings as per the old seo urls 2

2) create a file to put in character_conversion filling the array with the necessary character converts (the benefit being no space limitation and the fact that these files are called based on user selected language) the file has to be saved as the same name as the language in osC e.g. danish.php, espanol.php etc

 

Hi Rob,

 

Thanks for the reply, been so busy not had a chance to check forums till now

 

Steve

Share this post


Link to post
Share on other sites

Thanks for a great contribution!!

 

I've just updated my site from V2.7 to V5 and all went well other than a strange side affect.

 

If you go to the site direct at www.oneofakind.org.uk everything is as expected. But clicking on the home link or store logo takes you to www.oneofakind.org.uk//

 

I didn't have the trailing / before upgrading and it doesn't appear to cause any problems, but I would still like to remove it.

 

All help greatly appreciated.

 

Thanks

 

Steve

Edited by stevea1234

Share this post


Link to post
Share on other sites
Thanks for a great contribution!!

 

I've just updated my site from V2.7 to V5 and all went well other than a strange side affect.

 

If you go to the site direct at www.oneofakind.org.uk everything is as expected. But clicking on the home link or store logo takes you to www.oneofakind.org.uk//

 

I didn't have the trailing / before upgrading and it doesn't appear to cause any problems, but I would still like to remove it.

 

All help greatly appreciated.

 

Thanks

 

Steve

 

Hi Steve

 

That would mean there is a hardcoded / somewhere in those links .. it doesn't do this as standard. In fact as standard it would be www.oneofakind.org.uk/index.php so something has been done in the code to remove the index.php and add a /

Edited by FWR Media

Share this post


Link to post
Share on other sites
Hi Steve

 

That would mean there is a hardcoded / somewhere in those links .. it doesn't do this as standard. In fact as standard it would be www.oneofakind.org.uk/index.php so something has been done in the code to remove the index.php and add a /

 

 

Thanks for the quick reply.

 

The code for the home link is as below. If I remove the / the page doesn't load and stops with an error.

 

<img src=images/m03.jpg width=329 height=34 alt=''><a href=<?=tep_href_link('/')?>><img class="gradualfader" src=images/m05.gif width=77 height=34 border=0 alt='One of a Kind - Home'></a>

 

What's strange is that before upgrading it was ok?

 

Steve

Share this post


Link to post
Share on other sites
Thanks for the quick reply.

 

The code for the home link is as below. If I remove the / the page doesn't load and stops with an error.

 

<img src=images/m03.jpg width=329 height=34 alt=''><a href=<?=tep_href_link('/')?>><img class="gradualfader" src=images/m05.gif width=77 height=34 border=0 alt='One of a Kind - Home'></a>

 

What's strange is that before upgrading it was ok?

 

Steve

 

Worked it out (I think) Changed the '/' to 'index.php' and all now works as expected

Share this post


Link to post
Share on other sites
Worked it out (I think) Changed the '/' to 'index.php' and all now works as expected

 

To be correct (html/php it would be ..

<img src="images/m03.jpg" width="329" height="34" alt=""><a href="<?php echo tep_href_link(FILENAME_DEFAULT); ?>"><img class="gradualfader" src="images/m05.gif" width="77" height="34" border="0" alt="One of a Kind - Home"></a>

 

Don't use short tags <? it is deprecated and will cause issues in the future <? is an xml tag php tags should be

 

<?php

?>

Share this post


Link to post
Share on other sites
To be correct (html/php it would be ..

<img src="images/m03.jpg" width="329" height="34" alt=""><a href="<?php echo tep_href_link(FILENAME_DEFAULT); ?>"><img class="gradualfader" src="images/m05.gif" width="77" height="34" border="0" alt="One of a Kind - Home"></a>

 

Don't use short tags <? it is deprecated and will cause issues in the future <? is an xml tag php tags should be

 

<?php

?>

 

 

Still learning!! The site is based on a very badly edited template and I'm trying my best to correct the many, many errors.

Share this post


Link to post
Share on other sites

Ultimate by name ultimate by nature.

 

Update coming soon!

 

Three super fast admin selectable cache methods.

 

1) Existing file based cache. (No MySQL queries after full cache load).

 

2) Fast MySQL cache requiring 1 database query after full cache load.

 

3) The lightening fast Memcached!

For larger shops on dedicated servers/VPS this is the ultimate speed solution. Requires php_memcache.dll in php.ini and memcached daemon compiled into apache.

 

Read about memcached

 

So you can choose the most efficient cache method for your individual online shop.

Share this post


Link to post
Share on other sites
Is V5 compatible with Links Manager II http://addons.oscommerce.com/info/5272 ?

 

When I turn SEO Urls on I get a page not found error when selecting the links category.

 

Thanks

 

Steve

 

Never looked at it .. I'll have a look this evening Steve.

 

The current links contribution module expects the following: -

 

The seo url marker to be -links-

 

The _GET key to be named lPath and to be an integer.

 

The query is looking in table TABLE_LINK_CATEGORIES_DESCRIPTION for the field link_categories_name

Edited by FWR Media

Share this post


Link to post
Share on other sites

New Version Uploaded

 

Update from revision 65 to 67:

 

Changelog:

 

Added 2 cache systems so there are now 3 fast cache systems available via admin.

 

1) FileSystem

2) Database

3) Memcached (requires Memcached compiled in apache and installed in php.ini)

 

The superfast Memcached option is really for those with larger shops on a dedicated server/VPS as it is unlikely to be available on shared hosting.

Edited by FWR Media

Share this post


Link to post
Share on other sites

Hi Rob,

 

Thanks for the release of your Ultimate SEO Urls 5 - the install went smoothly and all is working perfectly!

 

I have a question regarding two of your contributions that I have installed on my store in development (I'm about a week away from releasing it and am doing a 'genereal tidy up'):

 

Google Duplicate Content Manager v1.0 and Independant SEO URL Validation v1.0.4 - Would you recommend that I retain these contributions in my store, or have either of these been addressed in your release of Ultimate SEO Urls 5?

 

As far as I'm aware, the Independant SEO URL Validation seems directed towards Chemo's USU and may be 'extra code' that I don't require. Forgive my 'not fully understanding' their usage.. I'm still in the 'steep learning curve' stage!

 

Kind regards,

James

Share this post


Link to post
Share on other sites
Hi Rob,

 

Thanks for the release of your Ultimate SEO Urls 5 - the install went smoothly and all is working perfectly!

 

I have a question regarding two of your contributions that I have installed on my store in development (I'm about a week away from releasing it and am doing a 'genereal tidy up'):

 

Google Duplicate Content Manager v1.0 and Independant SEO URL Validation v1.0.4 - Would you recommend that I retain these contributions in my store, or have either of these been addressed in your release of Ultimate SEO Urls 5?

 

As far as I'm aware, the Independant SEO URL Validation seems directed towards Chemo's USU and may be 'extra code' that I don't require. Forgive my 'not fully understanding' their usage.. I'm still in the 'steep learning curve' stage!

 

Kind regards,

James

 

Hi James

 

Validation is inbuilt so Independant SEO URL Validation is not needed (nor is it compatible)

 

Google Duplicate Content Manager can still be used.

 

Rob

Share this post


Link to post
Share on other sites
Hi James

 

Validation is inbuilt so Independant SEO URL Validation is not needed (nor is it compatible)

 

Google Duplicate Content Manager can still be used.

 

Rob

 

 

Thanks Rob - I shall therefore remove the Independant SEO URL Validation.

 

James

Share this post


Link to post
Share on other sites
Is V5 compatible with Links Manager II http://addons.oscommerce.com/info/5272 ?

 

When I turn SEO Urls on I get a page not found error when selecting the links category.

 

Thanks

 

Steve

 

To work with links manager 2:

 

catalog/.htaccess

 

Find ...

 

# Links contribution

RewriteRule ^(.*)-links-([0-9]+).html$ links.php?lPath=$2&%{QUERY_STRING}

 

Change to ...

 

# Links contribution

RewriteRule ^(.*)-links-([0-9_]+).html$ links.php?lPath=$2&%{QUERY_STRING}

 

catalog/includes/modules/ultimate_seo_urls5/modules/Usu_links.php

 

Replace the complete method public function acquire($dependency)

 

With ..

 

  public function acquire($dependency){
if ( is_numeric(str_replace('_', '', $dependency)) ){
  $this->lPath = $dependency;
} else {
  return false;
}
if ( false !== strpos($dependency, '_') ){
  $single_lpath = (int)ltrim(strrchr($dependency, '_'), '_');
} else {
  $single_lpath = (int)$dependency;
}  
// Bypass the query if already in the registry
if ( false !== isset(usu::$registry->{$this->dependency}[$this->lPath]) ){
  usu::$performance['queries_saved']++;
  return true;
}
$placeholders = array( ':lPath', ':languages_id' );
// $values are already type cast
$values = array( $single_lpath, usu::$languages_id );
$this->query = str_replace($placeholders, $values, $this->base_query);
$result = usu::query( $this->query );
$this->query = null;
$row = tep_db_fetch_array( $result );
tep_db_free_result( $result );
if ( false === $row ){
  return false;
}
$this->link_text = $this->linkText($row['lName']);

if ( false === isset(usu::$registry->{$this->dependency}) ){
  usu::$registry->{$this->dependency} = array();
}
usu::$registry->attach($this->dependency, $this->lPath, $this->getProperties());
 } // End method

 

In future releases this will be called Usu_links2.php and Usu_links.php will be moved to a new directory in the contribution called "old contribution modules"

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now