Jump to content
Jack_mcs

Sitemap SEO

Recommended Posts

A new version has been uploaded with these changes:

 

  • Added an option to control whether the store address is shown on the site map page or not.
  • Added files for the Bootstrap version.
  • Changed the manufacturer module to only load manufacturers with ID > 0.
  • Changed the css to better handle the display.
  • Changed the code to use div's instead of tables, where possible,
  • Changed code in sitemap_seo_box_control.php to prevent explode error some installations see.
  • Changed mysql code in classes/category_tree.php to work with later versions of mysql.
  • Changed uninstall script to remove sitemal_seo-settings (reported by user leveera).
  • Fixed problem where category url was incorrect when showing products on the sitemap page.
  • Fixed problem with return of chdir in admin.

Share this post


Link to post
Share on other sites

Hi Jack,

First of all, thanks and congrats for your work. It is really fantastic!

 

I'm trying to apply your new version on a 2.3.4 BS. Following installing instructions, when I run sitemap_seo_install.php from catalog, it gives an error:

Warning: mysqli_query(): Empty query in [catalog]\includes\functions\database.php on line 50
0 - 

I also tried to run it from admin/ (logged in), but it gives the same error:

Warning: mysqli_query(): Empty query in [catalog]\admin\includes\functions\database.php on line 53

0 - 
[TEP STOP]

 

I've been trying it on my local server (Wamp).

 

Sorry, I'm not a coder, so I can't give you any clues...


Shopowner, not coder, experienced copypaster  :D

Share this post


Link to post
Share on other sites

@@TITO4 Is catalog where your shop is located? Is that the full error that is displayed?

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Hi Jack

 

Just trying to install this addon, however when I try to install the DB I get

 

Warning: mysqli_query(): Empty query in /home/XXXXX/public_html/BS234dev/includes/functions/database.php on line 50
0 -

 

[TEP STOP]

 

Is this because the site is in a sub directory, or am I missing something. I have uploaded the install sql to the .../public_html/BS234dev then tried this

 http://www.grandpas.co.nz/BS234dev/sitemap_seo_install.php

 

Many thanks

 

Grandpa

Edited by grandpaj

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Thanks for your interest and help. Well, I just resumed the complete path. Anyway, here you are the complete error message as it is shown, with its full path:

Warning: mysqli_query(): Empty query in C:\Program Files\wamp\www\Salmorejo01_35e7o3\includes\functions\database.php on line 50
0 - 



[TEP STOP]

 

Where "Salmorejo01_35e7o3" is my testing site. The path shown is correct and It works perfectly en my local server (Wamp, as you see)


Shopowner, not coder, experienced copypaster  :D

Share this post


Link to post
Share on other sites

@@grandpa No, it doesn't matter that the shop is in a sub-directory. But the error you show is after the actual failure, or at least the cause of the failure. I would need to know where it is failing to offer a suggestion. You may be able to determine that by editing the install file and adding an echo statement. If the text it displays is shown, then the failure is after that. For example, find this line

  if (! $db_error) {

and change it to

echo 'OK to here<br>';
  if (! $db_error) {

If OK to here is displayed and then the error is shown, then the actual failing code is after that statement. In either case, move the echo statement up or down to isolate the problem area.

 

Please see the post below regarding changing error_reporting to see if that helps in finding the problem.

Edited by Jack_mcs

Share this post


Link to post
Share on other sites

@@TITO4 As mentioned in the post above, that error is the result of the problem. Please try editing the includes/application_top.php file. Find the line near the top that starts with error_reporting and change it to

  error_reporting(E_ALL & ~E_NOTICE);
  ini_set('display_errors','0'); 

That is not a fix but may indicate the reason for the failure.

Share this post


Link to post
Share on other sites

Share this post


Link to post
Share on other sites

@@Jack_mcs

Hi Jack

 

Have tried the above.

Tried   echo 'OK to here<br>';
  if (! $db_error) {

but made no differnce.

 

I now get this message when trying to install the DB

 

0 -

 

[TEP STOP]

 

Here's what in the error log relative to SEO

[31-Dec-2015 08:59:36 Pacific/Auckland] PHP Notice:  Undefined variable: group_query in /home/XXXXX/public_html/BS234dev/sitemap_seo_install.php on line 36
[31-Dec-2015 08:59:36 Pacific/Auckland] PHP Warning:  mysqli_query(): Empty query in /home/XXXXX/public_html/BS234dev/includes/functions/database.php on line 50

Hopefully this may help

 

Many thanks for your help.

 

Kind regads

Grandpa

Share this post


Link to post
Share on other sites

@@Jack_mcs

Hi Jack

 

Please dsiregard

 

...I now get this message when trying to install the DB

 

0 -

 

[TEP STOP] ....

 

In my above post, as the error message has returned to the original one.

( Warning: mysqli_query(): Empty query in /home/XXXXX/public_html/BS234dev/includes/functions/database.php on line 50 )
 

 

[TEP STOP]

 

Cheers

 

Grandp

Edited by grandpaj

Share this post


Link to post
Share on other sites

@@grandpa Thanks for the error log entry. That shows the problem. Please find this code at line 36 of the install file

      if (tep_db_query($group_query) == false) {

and change it to

      if (tep_db_query($db_query) == false) {

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Hi Jack

 

Many thanks for your response, that worked like a charm

 

Now I have the following problem;

When I go to the SitMap SEO in admin, none of the boxes work I get this for Box Control;

1146 - Table 'XXXX_osc30.sitemap_seo_boxes' doesn't exist

select count(*) as total from sitemap_seo_boxes where box_file_name LIKE 'bm_best_sellers.php' and language_id = '1'

[TEP STOP]

 

I get this for Page Control

1146 - Table 'XXXX_osc30.sitemap_seo_pages' doesn't exist

select count(*) as total from sitemap_seo_pages where language_id = 1

[TEP STOP]

 

And this for Settings Control

1146 - Table 'XXXX_osc30.sitemap_seo_settings' doesn't exist

select * from sitemap_seo_settings where language_id = '1'

[TEP STOP]

 

The config sitemap works fine in admin.

 

Here's also a copy of my error log, maybe it could be of help.

[01-Jan-2016 19:49:20 Pacific/Auckland] PHP Warning:  mysqli_num_rows() expects parameter 1 to be mysqli_result, array given in /home/XXXX/public_html/BS234dev/includes/functions/database.php on line 104

Here's what happens when I click on the link in the Information box in the footer of the web site, I get this message.

 

1146 - Table 'xxxx_osc30.sitemap_seo_settings' doesn't exist

select * from sitemap_seo_settings where language_id = '1' LIMIT 1

[TEP STOP]

 

 I have been over the install a couple of times and am unable to see where Ive gone wrong, I suspect it maybe something Ive done but I haven't a clue what. Ive re uploaded files and checked alterations to files but alas to no avail

 

Many thanks for your help

 

Kind regards

Grandpa

Edited by grandpaj

Share this post


Link to post
Share on other sites

All of the errors are saying the database tables don't exist. Maybe the failed attempts before the last fix caused a problem. Please try running the uninstall file and then the install one again to see if that fixes it.

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Hi Jack

 

Many thanks, unfortunately that didn't fix the problem. I have attempted to list below the files that are in the DB Configuration "file".

 

SITEMAP_SEO_SORTORDER_INFOPAGES  5 Where to place this module in the listings.  1334  19  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  651  <font color=purple>Sort Order - Manufacturers</fon... 

SITEMAP_SEO_SORTORDER_MANUFACTURERS  2 Where to place this module in the listings.  1334  20  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  648  <font color=purple>Sort Order - Articles Manager</... 

SITEMAP_SEO_SORTORDER_ARTICLES_MANAGER  4 Where to place this module in the listings.  1334  17  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  649  <font color=purple>Sort Order - Categories</font> 

SITEMAP_SEO_SORTORDER_CATEGORIES  1 Where to place this module in the listings.  1334  18  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  647  Show Related Products by Manufacturer 

SITEMAP_SEO_SHOW_INDIVIDUAL_MANUFACTURER_SITEMAP  true Display a link on the category and product pages t...  1334  16  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  646  Show Related Products 

SITEMAP_SEO_SHOW_RELATED_PRODUCTS  true Display a link on the products page to display all...  1334  15  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  645  Show Related Categories 

SITEMAP_SEO_SHOW_INDIVIDUAL_CATEGORY_SITEMAP  true Display a link on the category and product pages t...  1334  14  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  644  Show Address Box 

SITEMAP_SEO_SHOW_ADDRESS_BOX Display the sites address details at the bottom of...  1334  13  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),

SITEMAP_SEO_MODULE_PLACEMENT_STANDARD_PAGES  right Place this listing in the left or right column of ...  1334  12  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  642  <font color=blue>Module Placement - Standard Boxes... 

SITEMAP_SEO_MODULE_PLACEMENT_STANDARD_BOXES  right Place this listing in the left or right column of ...  1334  11  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  641  <font color=blue>Module Placement - Page Manager</... 

SITEMAP_SEO_MODULE_PLACEMENT_PAGE_MANAGER  right Place this listing in the left or right column of ...  1334  10  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  640  <font color=blue>Module Placement - Manufacturers<... 

SITEMAP_SEO_MODULE_PLACEMENT_MANUFACTURERS  left Place this listing in the left or right column of ...  1334  9  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  639  <font color=blue>Module Placement - InfoPages</fon... 

SITEMAP_SEO_MODULE_PLACEMENT_INFOPAGES  right Place this listing in the left or right column of ...  1334  8  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  638  <font color=blue>Module Placement - Categories</fo... 

SITEMAP_SEO_MODULE_PLACEMENT_CATEGORIES  left Place this listing in the left or right column of ...  1334  7  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  637  <font color=blue>Module Placement - Articles Manag... 

SITEMAP_SEO_MODULE_PLACEMENT_ARTICLES_MANAGER  right Place this listing in the left or right column of ...  1334  6  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'right'),
Edit Edit  Copy Copy  Delete Delete  636  Heading Alignment 

SITEMAP_SEO_HEADING_ALIGNMENT  left Align headings as selected.  1334  5  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('left', 'center', 'rig...
Edit Edit  Copy Copy  Delete Delete  635  Enable Version Checker 

SITEMAP_SEO_ENABLE_VERSION_CHECKER  false Enables the version checking code to automatically...  1334  4  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  634  Display Manufacturers 

SITEMAP_SEO_DISPLAY_MANUFACTURERS  true Display the manufacturers.<br>(true=on false=off)  1334  3  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  633  Display Products in Manufacturers 

SITEMAP_SEO_DISPLAY_PRODUCTS_MANUFACTURERS  false Display the products for each manufacturer. This o...  1334  2  NULL 2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  632  Display Products in Categories 

SITEMAP_SEO_DISPLAY_PRODUCTS_CATEGORIES  true <center><b><h2>

SiteMap SEO</h2><i>Developed by:</i...  1334  1  2016-01-02 10:23:12  2016-01-02 10:12:46  NULL tep_cfg_select_option(array('true', 'false'),
Edit Edit  Copy Copy  Delete Delete  652  <font color=purple>Sort Order - Page Manager</font... 

SITEMAP_SEO_SORTORDER_PAGE_MANAGER  5 Where to place this module in the listings.  1334  21  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  653  <font color=purple>Sort Order - Standard Boxes</fo... 

SITEMAP_SEO_SORTORDER_STANDARD_BOXES  3 Where to place this module in the listings.  1334  22  NULL 2016-01-02 10:12:46  NULL NULL
Edit Edit  Copy Copy  Delete Delete  654  <font color=purple>Sort Order - Standard Pages</fo... 

SITEMAP_SEO_SORTORDER_STANDARD_PAGES

 

 

The above is all I can find. There is no file listed in the left hand column like where Action Recorder, Address book etc appear.

I have again uninstalled and reinstalled the DBase. (Got the installed successfully detail and button) Re uploaded files and checked where manual alterations were required. I must have missed something as it would appear that others using this addon don't seem to have problems.

 

Again Jack, many thanks for your help

 

Kind regards

 

Grandpa

Edited by grandpaj

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Jack

 

Further to the above post. I did notice in the DB listed on the left hand side a file called Seo_freindly_urls. it had nothing in it. Maybe this is just a "red herring"

 

Cheers

Grandp

Share this post


Link to post
Share on other sites

I don't understand what the "DB Configuration file" is. Please take a look in admin->Tools->Database Tables. You should see four tables liste with names starting with sitemap_seo. If they are not there, then your database isn't setup for this addon.

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Hi Jack

 

The DB configuration file is the one when you go to Cpanel > Mysql and is list on the left hand side.

 

Anyway when I check admin->Tools->Database Tables there is nothing there starting with sitemap_seo. Is there any other way I can set up DB.

 

As when I use the install included in the addon it tells me that the DB has been installed. Post #840 is what is showing in the Configuration in Mysql.(hope that makes sense)

 

Many thanks

 

Grandpa

Share this post


Link to post
Share on other sites

Looking at the list you posted again after reading your explanation, I see that you are looking at the settings in the configuration table. That is just contents of one table, not the table itself. Since the tables are not showing up in the admin tool, it means the database install didn't work for some reason.

 

Please try running the install file again but add ?reset at the end like, ...com/sitemap_seo_install.php?reset

 

Then check if the tables show in admin or in the database itself if you prefer.

Share this post


Link to post
Share on other sites

@@Jack_mcs

 

Hi Jack

 

"Your the man"

 

That worked all showing in the admin->Tools->Database Tables

 

Many, many thanks dont know what it did but it worked.

 

Cheers

 

Grandpa

Share this post


Link to post
Share on other sites

A new version has been uploaded. It is just a maintenance upload to correct a few minor things:

  • Fixed a small css error in admin.
  • Added the Version Checker files.
  • Changed the uninstall file to work cleanly with any version of oscommerce.

Share this post


Link to post
Share on other sites

Hi @@Jack_mcs

First of all, I want to apologize to you for my delay... I was very bussy in Christmas wtih my kids, word, closing annual counts, etc... Sorry,sincerely. I appreciate very much your work and efforts for helping us.

Well, I've just tried that new version that you have uploaded today. I work on 2.3.4 BS. What I found:
· When running file for Installing database, it says that everything is ok with a success message. But reality is that it still doesn't work properly (at least for me). I realize that it add configuration and configuration_group values, but it doesn't create that new tables.
 
So what I did was to run directly an SQL on my PHPMyAdmin to add those tables, and now it works perfectly. Wow!! It is really great! I love it! Thanks!!!
If anybody has the same problem, just run this in your db:

 

DROP TABLE IF EXISTS sitemap_seo_pages;
CREATE TABLE sitemap_seo_pages (exclude_id INT NOT NULL AUTO_INCREMENT, page_file_name VARCHAR (255) NOT NULL, alternate_page_name VARCHAR (255) NOT NULL DEFAULT '', anchor_text VARCHAR (255) NOT NULL DEFAULT '', excluded_page TINYINT (1) NOT NULL DEFAULT 0, registered_only TINYINT (1) NOT NULL DEFAULT 0, sort_order TINYINT (3) NOT NULL DEFAULT 0, language_id int DEFAULT '1' NOT NULL, PRIMARY KEY ( exclude_id )) CHARACTER SET utf8 COLLATE utf8_unicode_ci;


DROP TABLE IF EXISTS sitemap_seo_boxes;
CREATE TABLE sitemap_seo_boxes (box_file_name VARCHAR (50) NOT NULL DEFAULT '', box_page_name VARCHAR (255) NOT NULL DEFAULT '', pseudo_page_name VARCHAR (255) NOT NULL DEFAULT '', excluded_box TINYINT (1) NOT NULL DEFAULT 0, registered_box TINYINT (1) NOT NULL DEFAULT 0, language_id int DEFAULT '1' NOT NULL, PRIMARY KEY ( box_file_name, language_id )) CHARACTER SET utf8 COLLATE utf8_unicode_ci;


DROP TABLE IF EXISTS sitemap_seo_box_links;
CREATE TABLE sitemap_seo_box_links (box_link_id INT NOT NULL AUTO_INCREMENT, box_file_name VARCHAR (50) NOT NULL DEFAULT '', page_link_name VARCHAR (255) NOT NULL DEFAULT '', pseudo_page_link_name VARCHAR (255) NOT NULL DEFAULT '', anchor_text VARCHAR (255) NOT NULL DEFAULT '', excluded_link TINYINT (1) NOT NULL DEFAULT 0, registered_link TINYINT(1) NOT NULL DEFAULT 0, sort_order TINYINT (3) NOT NULL DEFAULT 0, language_id int DEFAULT '1' NOT NULL, PRIMARY KEY ( box_link_id )) CHARACTER SET utf8 COLLATE utf8_unicode_ci;


DROP TABLE IF EXISTS sitemap_seo_settings;
CREATE TABLE sitemap_seo_settings (enable_articles_manager TINYINT (1) NOT NULL DEFAULT 0, enable_infopages TINYINT (1) NOT NULL DEFAULT 0, enable_page_manager TINYINT (1) NOT NULL DEFAULT 0, heading_title VARCHAR (40) NOT NULL DEFAULT 'Site Map', heading_sub_text TEXT NOT NULL, heading_articles_manager VARCHAR (50) NOT NULL DEFAULT '', heading_categories VARCHAR (50) NOT NULL DEFAULT '', heading_infopages VARCHAR (50) NOT NULL DEFAULT '', heading_manufacturers VARCHAR (50) NOT NULL DEFAULT '', heading_page_manager VARCHAR (50) NOT NULL DEFAULT '',  heading_standard_boxes VARCHAR (50) NOT NULL DEFAULT '', heading_standard_pages VARCHAR (50) NOT NULL DEFAULT '', language_id int DEFAULT '1' NOT NULL, PRIMARY KEY ( language_id )) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

 Ups, I forgot. I use and force to utf8_unicode_ci. If it is not your case, just delete every instance of "CHARACTER SET utf8 COLLATE utf8_unicode_ci" in the code above.

 

Hope it helps someone. And again, many thanks Jack


Shopowner, not coder, experienced copypaster  :D

Share this post


Link to post
Share on other sites

@@TITO4 Thanks for posting since it may help others. Although I don't understand why the install file is failing. I've used it in live shops, both RC2 and BS versions, without any problems. Strange.

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

×