diff --git a/LICENSE.txt b/LICENSE.txt
deleted file mode 100644
index 2c095c8..0000000
--- a/LICENSE.txt
+++ /dev/null
@@ -1,274 +0,0 @@
-GNU GENERAL PUBLIC LICENSE
-
-              Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
-Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
-verbatim copies of this license document, but changing it is not allowed.
-
-                  Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public License
-applies to most of the Free Software Foundation's software and to any other
-program whose authors commit to using it. (Some other Free Software
-Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this service if
-you wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for
-a fee, you must give the recipients all the rights that you have. You must make
-sure that they, too, receive or can get the source code. And you must show
-them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If the
-software is modified by someone else and passed on, we want its recipients
-to know that what they have is not the original, so that any problems
-introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will individually
-obtain patent licenses, in effect making the program proprietary. To prevent
-this, we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-           GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-               MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the
-Program or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter, translation
-is included without limitation in the term "modification".) Each licensee is
-addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program is
-not restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made
-by running the Program). Whether that is true depends on what the Program
-does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this License
-and to the absence of any warranty; and give any other recipients of the
-Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that
-you changed the files and the date of any change.
-
-b) You must cause any work that you distribute or publish, that in whole or in
-part contains or is derived from the Program or any part thereof, to be
-licensed as a whole at no charge to all third parties under the terms of this
-License.
-
-c) If the modified program normally reads commands interactively when run,
-you must cause it, when started running for such interactive use in the most
-ordinary way, to print or display an announcement including an appropriate
-copyright notice and a notice that there is no warranty (or else, saying that
-you provide a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this License.
-(Exception: if the Program itself is interactive but does not normally print such
-an announcement, your work based on the Program is not required to print
-an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you distribute
-them as separate works. But when you distribute the same sections as part
-of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to
-control the distribution of derivative or collective works based on the
-Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of a
-storage or distribution medium does not bring the other work under the scope
-of this License.
-
-3. You may copy and distribute the Program (or a work based on it, under
-Section 2) in object code or executable form under the terms of Sections 1
-and 2 above provided that you also do one of the following:
-
-a) Accompany it with the complete corresponding machine-readable source
-code, which must be distributed under the terms of Sections 1 and 2 above
-on a medium customarily used for software interchange; or,
-
-b) Accompany it with a written offer, valid for at least three years, to give
-any third party, for a charge no more than your cost of physically performing
-source distribution, a complete machine-readable copy of the corresponding
-source code, to be distributed under the terms of Sections 1 and 2 above on
-a medium customarily used for software interchange; or,
-
-c) Accompany it with the information you received as to the offer to distribute
-corresponding source code. (This alternative is allowed only for
-noncommercial distribution and only if you received the program in object
-code or executable form with such an offer, in accord with Subsection b
-above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source code
-means all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation and
-installation of the executable. However, as a special exception, the source
-code distributed need not include anything that is normally distributed (in
-either source or binary form) with the major components (compiler, kernel,
-and so on) of the operating system on which the executable runs, unless that
-component itself accompanies the executable.
-
-If distribution of executable or object code is made by offering access to
-copy from a designated place, then offering equivalent access to copy the
-source code from the same place counts as distribution of the source code,
-even though third parties are not compelled to copy the source along with the
-object code.
-
-4. You may not copy, modify, sublicense, or distribute the Program except as
-expressly provided under this License. Any attempt otherwise to copy,
-modify, sublicense or distribute the Program is void, and will automatically
-terminate your rights under this License. However, parties who have received
-copies, or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-5. You are not required to accept this License, since you have not signed it.
-However, nothing else grants you permission to modify or distribute the
-Program or its derivative works. These actions are prohibited by law if you
-do not accept this License. Therefore, by modifying or distributing the
-Program (or any work based on the Program), you indicate your acceptance
-of this License to do so, and all its terms and conditions for copying,
-distributing or modifying the Program or works based on it.
-
-6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the original
-licensor to copy, distribute or modify the Program subject to these terms and
-conditions. You may not impose any further restrictions on the recipients'
-exercise of the rights granted herein. You are not responsible for enforcing
-compliance by third parties to this License.
-
-7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues), conditions
-are imposed on you (whether by court order, agreement or otherwise) that
-contradict the conditions of this License, they do not excuse you from the
-conditions of this License. If you cannot distribute so as to satisfy
-simultaneously your obligations under this License and any other pertinent
-obligations, then as a consequence you may not distribute the Program at all.
-For example, if a patent license would not permit royalty-free redistribution
-of the Program by all those who receive copies directly or indirectly through
-you, then the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or
-other property right claims or to contest validity of any such claims; this
-section has the sole purpose of protecting the integrity of the free software
-distribution system, which is implemented by public license practices. Many
-people have made generous contributions to the wide range of software
-distributed through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing to
-distribute software through any other system and a licensee cannot impose
-that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original copyright
-holder who places the Program under this License may add an explicit
-geographical distribution limitation excluding those countries, so that
-distribution is permitted only in or among countries not thus excluded. In such
-case, this License incorporates the limitation as if written in the body of this
-License.
-
-9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to address new
-problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies
-a version number of this License which applies to it and "any later version",
-you have the option of following the terms and conditions either of that
-version or of any later version published by the Free Software Foundation. If
-the Program does not specify a version number of this License, you may
-choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-               NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
-PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
-STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
-AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
-ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
-LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE
-PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
-OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
-PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
-IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.
-
-          END OF TERMS AND CONDITIONS
diff --git a/README.txt b/README.txt
index 2a7ba98..8e9db97 100644
--- a/README.txt
+++ b/README.txt
@@ -1,4 +1,3 @@
-// $Id$
 
 CONTENTS OF THIS FILE
 ---------------------
diff --git a/seochecklist.admin.inc b/seochecklist.admin.inc
index 9eb53c0..01fa405 100644
--- a/seochecklist.admin.inc
+++ b/seochecklist.admin.inc
@@ -1,5 +1,4 @@
 <?php
-// $Id$
 
 /**
  * @file
@@ -18,19 +17,15 @@ function seochecklist_admin_settings() {
     '#type' => 'submit',
     '#value' => t('Save'),
   );
+
   // Fetch modules and groups from database.
   $query = "SELECT id, name, description FROM {seo_group} ORDER BY id";
 
   $result = db_query($query);
   $group_id = 0;
 
-  // Vertical tab element.
-  $form['seochecklist'] = array(
-    '#type' => 'vertical_tabs',
-  );
-
   // Every group is a fieldset.
-  foreach ($result as $data) {
+  while ($data = db_fetch_object($result)) {
     $group_id = intval($data->id);
 
     $form['group_' . $group_id] = array(
@@ -39,16 +34,15 @@ function seochecklist_admin_settings() {
       '#collapsible' => TRUE,
       '#description' => t($data->description),
       '#group' => 'seochecklist',
-
     );
 
-    $res = db_query("SELECT download, enable, configure, module, completed, id, name, uid FROM {seo_checklist} WHERE group_id = :group_id ORDER BY order_id", array(':group_id' => $group_id));
-    foreach ($res as $row) {
+    $res = db_query("SELECT download, enable, configure, module, completed, id, name, uid FROM {seo_checklist} WHERE group_id = %d ORDER BY order_id", $group_id);
+    while ($row = db_fetch_object($res)) {
       $row->links = array();
 
       if ($row->completed) {
         // Show when and who completed this task.
-        $row->links[] = t('Completed on %date by !username', array('%date' => format_date($row->completed, 'small'), '!username' => theme('username', array('account' => user_load($row->uid)))));
+        $row->links[] = t('Completed on %date by !username', array('%date' => format_date($row->completed, 'small'), '!username' => theme('username', user_load($row->uid))));
       }
       else {
         // Show non-completed sub-tasks.
@@ -65,9 +59,9 @@ function seochecklist_admin_settings() {
         $row->links[] = l(t('Configure'), $row->configure);
       }
 
-      /*if (variable_get('seo_checklist_book_references', 1) && $page = seochecklist_get_book_references($row->id)) {
+      if (variable_get('seo_checklist_book_references', 1) && $page = seochecklist_get_book_references($row->id)) {
         $row->links[] = t('See <a href="@book-purchase">Drupal 6 SEO</a> p. @page', array('@page' => $page, '@book-purchase' => SEOCHECKLIST_BOOK_PURCHASE));
-      }*/
+      }
 
       $task = $form['group_' . $group_id]['seochecklist_task_' . $row->id] = array(
         '#type' => 'checkbox',
@@ -111,11 +105,6 @@ function seochecklist_admin_settings() {
     '#default_value' => variable_get('seo_checklist_book_references', 1),
     '#description' => t('<a href="@book-purchase">Purchase from Packt Publishing</a>', array('@book-purchase' => SEOCHECKLIST_BOOK_PURCHASE)),
   );
-  $form['extras']['buy_seo_book'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Buy Drupal 6 Search Engine Optimization by Ben Finklea from <a href="@amazon">Amazon</a> or <a href="@packt">Packt</a>.', array('@amazon' => 'http://www.amazon.com/gp/product/1847198228?ie=UTF8&tag=dvdcentral02&linkCode=as2&camp=1789&creative=390957&creativeASIN=1847198228', '@packt' => 'https://www.packtpub.com/drupal-6-search-engine-optimization-seo/book?mid/170909568gh3')),
-    '#default_value' => variable_get('seo_checklist_buy_book', 1),
-  );
 
   $form['save'] = array(
     '#type' => 'submit',
@@ -123,11 +112,13 @@ function seochecklist_admin_settings() {
     '#weight' => 100,
   );
 
-
-  $form['save_above']['#attributes']['class'][] = 'js-hide';
-
-
-
+  if (module_exists('vertical_tabs')) {
+    $form['#pre_render'][] = 'vertical_tabs_form_pre_render';
+    $form['save_above']['#attributes']['class'] = 'js-hide';
+  }
+  else {
+    drupal_set_message(t('Your SEO Checklist interface (in addition to your content and content type edit pages) will be greatly enhanced by installing the <a href="@vertical-tabs">Vertical Tabs module</a>.', array('@vertical-tabs' => 'http://drupal.org/project/vertical_tabs')), 'status', FALSE);
+  }
 
   return $form;
 }
@@ -143,10 +134,10 @@ function seochecklist_admin_settings_submit($form, &$form_state) {
     if (preg_match('/seochecklist_task_/', $key)) {
       $key = explode('_', $key);
       $key = $key[2];
-      $current = (bool) db_query("SELECT completed FROM {seo_checklist} WHERE id = :id", array(':id' => $key))->fetchField();
+      $current = (bool) db_result(db_query("SELECT completed FROM {seo_checklist} WHERE id = %d", $key));
       if ($current != $value) {
         // If the checkbox changed states, update the record.
-        db_query("UPDATE {seo_checklist} SET completed = :completed, uid = :uid WHERE id = :id", array(':completed' => ($value ? time() : 0), ':uid' => $user->uid, ':id' => $key));
+        db_query("UPDATE {seo_checklist} SET completed = %d, uid = %d WHERE id = %d", ($value ? time() : 0), $user->uid, $key);
         $count++;
       }
     }
diff --git a/seochecklist.css b/seochecklist.css
index 3bea3e5..ae26c92 100644
--- a/seochecklist.css
+++ b/seochecklist.css
@@ -1,4 +1,3 @@
-/* $Id$ */
 
 div.seochecklist_item {
   clear:both;
diff --git a/seochecklist.info b/seochecklist.info
index b86f14a..6de7dc9 100644
--- a/seochecklist.info
+++ b/seochecklist.info
@@ -1,5 +1,4 @@
-; $Id$
 name = SEO Checklist
 description = A Search Engine Optimization checklist for Drupal.
-core = 7.x
-configure = admin/config/system/seochecklist
+core = 6.x
+recommends[] = vertical_tabs
diff --git a/seochecklist.install b/seochecklist.install
index 6746a49..5049d2c 100644
--- a/seochecklist.install
+++ b/seochecklist.install
@@ -1,5 +1,4 @@
 <?php
-// $Id$
 
 /**
  * @file
@@ -119,21 +118,21 @@ function seochecklist_schema() {
  * Implementation of hook_install().
  */
 function seochecklist_install() {
-  //drupal_install_schema('seochecklist');
+  drupal_install_schema('seochecklist');
 
   $task_fields = "(id, group_id, name, module, download, enable, configure, order_id)";
 
   // Page title tasks
   db_query("INSERT INTO {seo_group} VALUES (1, 'Page Titles', 'The single most important thing you can do for on-site SEO.')");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (41, 1, 'Token (required for other modules to function. Warning: Use beta modules at your own risk.)', 'token', 'http://drupal.org/project/token', 'admin/modules', '', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (1, 1, 'Page Title Module. Warning: Use beta modules at your own risk.', 'page_title', 'http://drupal.org/project/page_title', 'admin/modules', 'admin/config/search/page-title', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (41, 1, 'Token (required for other modules to function)', 'token', 'http://drupal.org/project/token', 'admin/build/modules', '', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (1, 1, 'Page Title Module', 'page_title', 'http://drupal.org/project/page_title', 'admin/build/modules', 'admin/content/page_title', 2)");
 
   // URL tasks
   db_query("INSERT INTO {seo_group} VALUES (2, 'URL paths', 'The second most important thing you can do.')");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (2, 2, 'Clean URLs - Activate (Usually automatic. Please double-check!)', '', '', '', 'admin/config/search/clean-urls', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (5, 2, 'Pathauto Module. Warning: Use beta modules at your own risk.', 'pathauto', 'http://drupal.org/project/pathauto', 'admin/modules', 'admin/config/search/path/patterns', 2)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (6, 2, 'Global Redirect Module', 'globalredirect', 'http://drupal.org/project/globalredirect', 'admin/modules', '', 3)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (38, 2, 'Redirect Module', 'path_redirect', 'http://drupal.org/project/redirect', 'admin/config/search/redirect/settings', '', 4)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (2, 2, 'Clean URLs - Activate (Usually automatic. Please double-check!)', '', '', '', 'admin/settings/clean-urls', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (5, 2, 'Pathauto Module', 'pathauto', 'http://drupal.org/project/pathauto', 'admin/build/modules', 'admin/build/path/pathauto', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (6, 2, 'Global Redirect Module', 'globalredirect', 'http://drupal.org/project/globalredirect', 'admin/build/modules', '', 3)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (38, 2, 'Path Redirect Module', 'path_redirect', 'http://drupal.org/project/path_redirect', 'admin/build/modules', '', 4)");
 
   // Search engine account tasks
   db_query("INSERT INTO {seo_group} VALUES (3, 'Create Search Engine Accounts', 'Set yourself up with the search engines.')");
@@ -143,31 +142,21 @@ function seochecklist_install() {
 
   // Visitor tracking tasks
   db_query("INSERT INTO {seo_group} VALUES (4, 'Track your visitors', 'Know where your visitors are coming from and what they do while visiting your site.')");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (9, 4, 'Google Analytics Module', 'googleanalytics', 'http://drupal.org/project/google_analytics', 'admin/modules', 'admin/config/system/googleanalytics', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (9, 4, 'Google Analytics Module', 'googleanalytics', 'http://drupal.org/project/google_analytics', 'admin/build/modules', 'admin/settings/googleanalytics', 1)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (10, 4, 'Sign in to your Google Analytics Account - <a href=\"http://www.google.com/analytics\">http://www.google.com/analytics</a>', '', '', '', '', 2)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (11, 4, 'Create an Analytics for your website', '', '', '', '', 3)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (12, 4, 'Paste Google Analytics code into Google Analytics Module', '', '', '', '', 4)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (13, 4, 'Authenticate your site with Google Analytics', '', '', '', '', 5)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (63, 4, 'Google Analytics Tokenizer', 'ga_tokenizer', 'http://drupal.org/project/ga_tokenizer', '', '', 6)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (64, 4, 'Google Analytics Contact Form, Webform, Rules Email. Warning: Use beta modules at your own risk.', 'contact_google_analytics', 'http://drupal.org/project/contact_google_analytics', 'admin/modules', 'admin/config/contact-google-analytics', 7)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (65, 4, 'Context Keywords', 'context_keywords', 'http://drupal.org/project/context_keywords', '', '', 8)");
 
   // Page content tasks
   db_query("INSERT INTO {seo_group} VALUES (5, 'Page content', 'Take control of your page content.')");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (15, 5, 'Meta Tags Module (AKA Nodewords)', 'nodewords', 'http://drupal.org/project/nodewords', 'admin/modules', 'admin/content/nodewords', 2)");
-  
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (15, 5, 'Meta tags quick', 'metatags_quick', 'http://drupal.org/project/metatags_quick', 'admin/modules', 'admin/structure/metatags_quick', 2)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (16, 5, 'Scheduler Module', 'scheduler', 'http://drupal.org/project/scheduler', 'admin/modules', 'admin/config/content/scheduler/default', 3)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (17, 5, 'HTML Purifier Module. Warning: Use DEV modules at your own risk.', 'htmlpurifier', 'http://drupal.org/project/htmlpurifier', 'admin/modules', 'admin/settings/filters/1', 4)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (15, 5, 'Meta Tags Module (AKA Nodewords)', 'nodewords', 'http://drupal.org/project/nodewords', 'admin/build/modules', 'admin/content/nodewords', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (16, 5, 'Scheduler Module', 'scheduler', 'http://drupal.org/project/scheduler', 'admin/build/modules', 'admin/settings/scheduler', 3)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (17, 5, 'HTML Purifier Module', 'htmlpurifier', 'http://drupal.org/project/htmlpurifier', 'admin/build/modules', 'admin/settings/filters/1', 4)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (45, 5, '<a href=\"/sites/all/modules/htmlpurifier/INSTALL.txt\">READ THE INSTALL INSTRUCTIONS!</a> then Download HTML Purifier. You will need
     3.1.0rc1 or later. - <a href=\"http://htmlpurifier.org/\">http://htmlpurifier.org/</a>', '', '', '', '', 5)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (18, 5, 'Search 404 Module', 'search404', 'http://drupal.org/project/search404', 'admin/modules', 'admin/config/search/search404', 5)");
-  
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (57, 5, 'SEO Compliance Checker', 'seo_checker', 'http://drupal.org/project/seo_checker', 'admin/modules', 'admin/config/content/seo_checker', 6)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (62, 5, 'Read More Link. Warning: Use DEV modules at your own risk.', 'read_more', 'http://drupal.org/project/read_more', 'admin/modules', 'admin/config/content/read_more', 7)");
-            
-  
-  
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (18, 5, 'Search 404 Module', 'search404', 'http://drupal.org/project/search404', 'admin/build/modules', 'admin/settings/search404', 5)");
+
   // Source code tasks
   db_query("INSERT INTO {seo_group} VALUES (6, 'Clean code', 'Well written markup is very important to the search engine spiders.')");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (19, 6, 'Validate your site - <a href=\"http://validator.w3.org/\">http://validator.w3.org/</a>', '', '', '', '', 1)");
@@ -175,9 +164,9 @@ function seochecklist_install() {
 
   // XML sitemap tasks
   db_query("INSERT INTO {seo_group} VALUES (7, 'Submit your Site to the search engines.', 'Now that you\'ve got your site ready for the search engines, tell them about it!')");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (47, 7, 'Site Verification Module', 'site_verify', 'http://drupal.org/project/site_verify', 'admin/modules', 'admin/config/search/verifications', 0)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (21, 7, 'XML Sitemap Module. Warning: Use beta modules at your own risk.', 'xmlsitemap', 'http://drupal.org/project/xmlsitemap', 'admin/modules', 'admin/config/search/xmlsitemap', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (46, 7, 'Site Map Module - a plain text sitemap. Warning: Use beta modules at your own risk.', 'site_map', 'http://drupal.org/project/site_map', 'admin/modules', 'admin/config/search/sitemap', 3)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (47, 7, 'Site Verification Module', 'site_verify', 'http://drupal.org/project/site_verify', 'admin/build/modules', '', 0)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (21, 7, 'XML Sitemap Module', 'xmlsitemap', 'http://drupal.org/project/xmlsitemap', 'admin/build/modules', 'admin/settings/xmlsitemap', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (46, 7, 'Site Map Module - a plain text sitemap', 'site_map', 'http://drupal.org/project/site_map', 'admin/build/modules', 'admin/settings/sitemap', 3)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (22, 7, 'Login to Google Webmaster Tools - <a href=\"http://www.google.com/webmasters/tools\">http://www.google.com/webmasters/tools</a>', '', '', '', '', 5)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (23, 7, 'Authenticate your site with Google (page 26)', '', '', '', '', 7)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (24, 7, 'Submit your XML Sitemap to Google - <a href=\"http://www.google.com/webmasters/sitemaps/\">http://www.google.com/webmasters/sitemaps/</a>', '', '', '', '', 9)");
@@ -186,54 +175,47 @@ function seochecklist_install() {
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (27, 7, 'Submit your XML Sitemap to Yahoo - <a href=\"https://siteexplorer.search.yahoo.com/submit\">https://siteexplorer.search.yahoo.com/submit</a>', '', '', '', '', 15)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (42, 7, 'Login to Bing - <a href=\"http://www.bing.com/webmaster/\">http://www.bing.com/webmaster/</a>', '', '', '', '', 17)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (43, 7, 'Authenticate your site with Bing', '', '', '', '', 19)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (28, 7, 'Submit your XML Sitemap to Bing - <a href=\"http://www.bing.com/webmaster/submitsitepage.aspx\">http://www.bing.com/webmaster/submitsitepage.aspx</a>', '', '', '', '', 21)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (28, 7, 'Submit your XML Sitemap to Bing - <a href=\"http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx\">http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx</a>', '', '', '', '', 21)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (29, 7, 'If appropriate, submit your company to Google Local Business Center - <a href=\"https://www.google.com/local/add/login\">https://www.google.com/local/add/login</a>', '', '', '', '', 23)");
 
   // Social links tasks
   db_query("INSERT INTO {seo_group} VALUES (8, 'Social Media', 'Using Social news sites, blogs, etc? Consider these:')");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (30, 8, 'Digg This Module', 'diggthis', 'http://drupal.org/project/diggthis', 'admin/modules', 'admin/settings/diggthis', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (30, 8, 'AddThis. Warning: Use beta modules at your own risk.', 'addthis', 'http://drupal.org/project/addthis', 'admin/modules', 'admin/settings/addthis', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (31, 8, 'Service Links Module. Warning: Use DEV modules at your own risk.', 'service_links', 'http://drupal.org/project/service_links', 'admin/modules', 'admin/config/services/service-links', 2)");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (32, 8, 'Trackback Module', 'trackback', 'http://drupal.org/project/trackback', 'admin/modules', 'admin/settings/trackback', 3)");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (48, 8, 'Activity Stream Module', 'activitystream', 'http://drupal.org/project/activitystream', 'admin/modules', '', 4)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (49, 8, 'Add to Any Module', 'addtoany', 'http://drupal.org/project/addtoany', 'admin/modules', 'admin/config/system/addtoany', 5)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (58, 8, 'Facebook social plugins integration. Warning: Use DEV modules at your own risk.', 'fb_social', 'http://drupal.org/project/fb_social', 'admin/modules', 'admin/config/fb_social', 6)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (59, 8, 'Follow', 'follow', 'http://drupal.org/project/follow', 'admin/modules', 'admin/config/services/follow', 6)");
-  
-  
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (30, 8, 'Digg This Module', 'diggthis', 'http://drupal.org/project/diggthis', 'admin/build/modules', 'admin/settings/diggthis', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (31, 8, 'Service Links Module', 'service_links', 'http://drupal.org/project/service_links', 'admin/build/modules', 'admin/settings/service_links', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (32, 8, 'Trackback Module', 'trackback', 'http://drupal.org/project/trackback', 'admin/build/modules', 'admin/settings/trackback', 3)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (48, 8, 'Activity Stream Module', 'activitystream', 'http://drupal.org/project/activitystream', 'admin/build/modules', '', 4)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (49, 8, 'Add to Any Module', 'addtoany', 'http://drupal.org/project/addtoany', 'admin/build/modules', '', 5)");
 
   // Spam tasks
   db_query("INSERT INTO {seo_group} VALUES (9, 'Protect your site from Spam', 'If your site will get heavy use from visitors creating accounts, commenting and/or creating content then consider these. NOTE: Most sites just need Mollom. The other modules are here in case Mollom does not work for you for some reason.')");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (40, 9, 'HIGHLY RECOMMENDED: Sign up for Mollom\'s free service and get Mollom code - <a href=\"http://mollom.com/user/register\"> http://mollom.com/user/register</a>', '', '', '', '', 0)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (39, 9, 'HIGHLY RECOMMENDED: Mollom Module', 'mollom', 'http://drupal.org/project/mollom', 'admin/modules', 'admin/config/content/mollom/settings', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (33, 9, 'Captcha Module. Warning: Use alpha modules at your own risk.', 'captcha', 'http://drupal.org/project/captcha', 'admin/modules', 'admin/config/people/captcha', 2)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (34, 9, 'Antispam Module', 'antispam', 'http://drupal.org/project/antispam', 'admin/modules', 'admin/config/antispam', 3)");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (36, 9, 'Spam Module', 'spam', 'http://drupal.org/project/spam', 'admin/modules', 'admin/settings/spam', 4)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (39, 9, 'HIGHLY RECOMMENDED: Mollom Module', 'mollom', 'http://drupal.org/project/mollom', 'admin/build/modules', 'admin/settings/mollom', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (33, 9, 'Captcha Module', 'captcha', 'http://drupal.org/project/captcha', 'admin/build/modules', 'admin/user/captcha', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (34, 9, 'Akismet Module', 'akismet', 'http://drupal.org/project/akismet', 'admin/build/modules', 'admin/settings/akismet', 3)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (36, 9, 'Spam Module', 'spam', 'http://drupal.org/project/spam', 'admin/build/modules', 'admin/settings/spam', 4)");
 
   // Geographic tasks
   db_query("INSERT INTO {seo_group} VALUES (10, 'Geographic', '')");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (50, 10, 'hCard Module', 'hcard', 'http://drupal.org/project/hcard', 'admin/modules', '', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (50, 10, 'hCard Module', 'hcard', 'http://drupal.org/project/hcard', 'admin/build/modules', '', 1)");
   db_query("INSERT INTO {seo_checklist} $task_fields VALUES (51, 10, 'Use the Meta Tags module to add geo meta tags to your site.', '', '', '', '', 2)");
 
   // Optional (but helpful) tasks
   db_query("INSERT INTO {seo_group} VALUES (11, 'Optional (but helpful)', '')");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (52, 11, 'Vertical Tabs Module', 'vertical_tabs', 'http://drupal.org/project/vertical_tabs', 'admin/modules', '', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (53, 11, 'Administration Menu. Warning: RC.', 'admin_menu', 'http://drupal.org/project/admin_menu', 'admin/modules', 'admin/config/administration/admin_menu', 2)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (60, 11, 'Elements', 'elements', 'http://drupal.org/project/elements', 'admin/modules', '', 3)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (61, 11, 'Security Review. Warning: Use DEV modules at your own risk.', 'security_review', 'http://drupal.org/project/security_review', 'admin/modules', 'admin/reports/security-review', 4)");
-                
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (52, 11, 'Vertical Tabs Module', 'vertical_tabs', 'http://drupal.org/project/vertical_tabs', 'admin/build/modules', '', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (53, 11, 'Administration Menu', 'admin_menu', 'http://drupal.org/project/admin_menu', 'admin/build/modules', '', 2)");
+
   // Performance tasks
-  db_query("INSERT INTO {seo_group} VALUES (12, 'Performance', '')");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (54, 12, 'Turn on Drupal\'s built in caching.', '', '', '', 'admin/config/development/performance', 1)");
-  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (55, 12, 'Boost Module. Warning: Use DEV modules at your own risk.', 'boost', 'http://drupal.org/project/boost', 'admin/modules', 'admin/settings/performance/boost', 2)");
-  //db_query("INSERT INTO {seo_checklist} $task_fields VALUES (56, 12, 'Authcache Module', 'authcache', 'http://drupal.org/project/authcache', 'admin/modules', '', 3)");
+  db_query("INSERT INTO {seo_group} VALUES (12, 'Performance)', '')");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (54, 12, 'Turn on Drupal\'s built in caching.', '', '', '', 'admin/settings/performance/default', 1)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (55, 12, 'Boost Module', 'boost', 'http://drupal.org/project/boost', 'admin/build/modules', 'admin/settings/performance/boost', 2)");
+  db_query("INSERT INTO {seo_checklist} $task_fields VALUES (56, 12, 'Authcache Module', 'authcache', 'http://drupal.org/project/authcache', 'admin/build/modules', '', 3)");
 }
 
 /**
  * Implementation of hook_uninstall().
  */
 function seochecklist_uninstall() {
-  //drupal_uninstall_schema('seochecklist');
+  drupal_uninstall_schema('seochecklist');
   variable_del('seo_checklist_link');
   variable_del('seo_checklist_thanks');
   variable_del('seo_checklist_podcast');
@@ -246,21 +228,22 @@ function seochecklist_uninstall() {
 function seochecklist_update_6001() {
   $ret = array();
 
-  $linked_seo = db_query("SELECT linked_seo FROM {seo_checklist} ORDER BY id DESC LIMIT 1")->fetchField();
-  //$result = db_fetch_object($query);
-  variable_set('seo_checklist_link', intval($linked_seo));
+  $query = db_query("SELECT linked_seo FROM {seo_checklist} ORDER BY id DESC LIMIT 1");
+  $result = db_fetch_object($query);
+  variable_set('seo_checklist_link', intval($result->linked_seo));
 
-  $result = db_query("SELECT extra2, extra3 FROM {seo_checklist} WHERE id = 1")->fetchObject();
+  $query = db_query("SELECT extra2, extra3 FROM {seo_checklist} WHERE id = 1");
+  $result = db_fetch_object($query);
   variable_set('seo_checklist_thanks', intval($result->extra2));
   variable_set('seo_checklist_podcast', intval($result->extra3));
 
-  db_drop_field('seo_checklist', 'extra2');
-  db_drop_field('seo_checklist', 'extra3');
-  db_drop_field('seo_checklist', 'linked_seo');
-  db_drop_field('seo_group', 'subgroup');
-  db_drop_table('seo_subgroup');
+  db_drop_field($ret, 'seo_checklist', 'extra2');
+  db_drop_field($ret, 'seo_checklist', 'extra3');
+  db_drop_field($ret, 'seo_checklist', 'linked_seo');
+  db_drop_field($ret, 'seo_group', 'subgroup');
+  db_drop_table($ret, 'seo_subgroup');
 
-  //return $ret;
+  return $ret;
 }
 
 /**
@@ -269,7 +252,7 @@ function seochecklist_update_6001() {
 function seochecklist_update_6202() {
   $ret = array();
   $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Clean URLs - Activate (Usually automatic. Please double-check!)', configure = 'admin/settings/clean-urls' WHERE id = 2");
-  //return $ret;
+  return $ret;
 }
 
 /**
@@ -277,12 +260,12 @@ function seochecklist_update_6202() {
  */
 function seochecklist_update_6203() {
   $ret = array();
-  $ret[] = db_query("UPDATE {seo_checklist} SET name = 'Get a Windows Live ID - You will need this for steps that follow - <a href=\"https://signup.live.com/\">https://signup.live.com/</a>' WHERE id = 44");
-  $ret[] = db_query("UPDATE {seo_checklist} SET name = 'Login to Bing - <a href=\"http://www.bing.com/webmaster/\">http://www.bing.com/webmaster/</a>', order_id = 17 WHERE id = 42");
-  $ret[] = db_query("UPDATE {seo_checklist} SET name = 'Authenticate your site with Bing', order_id = 19 WHERE id = 43");
-  $ret[] = db_query("UPDATE {seo_checklist} SET name = 'Submit your XML Sitemap to Bing - <a href=\"http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx\">http://webmaster.live.com/webmaster/WebmasterAddSitesPage.aspx</a>', order_id = 21 WHERE id = 28");
-  $ret[] = db_query("UPDATE {seo_checklist} SET module = 'xmlsitemap' WHERE id = 21");
-  //return $ret;
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Get a Windows Live ID - You will need this for steps that follow - <a href=\"https://signup.live.com/\">https://signup.live.com/</a>' WHERE id = 44");
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Login to Bing - <a href=\"http://www.bing.com/webmaster/\">http://www.bing.com/webmaster/</a>', order_id = 17 WHERE id = 42");
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Authenticate your site with Bing', order_id = 19 WHERE id = 43");
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Submit your XML Sitemap to Bing - <a href=\"http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx\">http://webmaster.live.com/webmaster/WebmasterAddSitesPage.aspx</a>', order_id = 21 WHERE id = 28");
+  $ret[] = update_sql("UPDATE {seo_checklist} SET module = 'xmlsitemap' WHERE id = 21");
+  return $ret;
 }
 
 /**
@@ -292,7 +275,7 @@ function seochecklist_update_6203() {
 function seochecklist_update_6204() {
   $ret = array();
 
-  db_add_field('seo_checklist', 'completed', array(
+  db_add_field($ret, 'seo_checklist', 'completed', array(
     'type' => 'int',
     'unsigned' => TRUE,
     'not null' => TRUE,
@@ -301,19 +284,19 @@ function seochecklist_update_6204() {
   ));
 
   $query = db_query("SELECT id, date_changed FROM {seo_checklist} WHERE option_checked <> 0");
-  foreach ($query as $record) {
+  while ($record = db_fetch_object($query)) {
     $record->changed = strtotime($record->date_changed);
     if (!$record->changed) {
       $record->changed = time();
     }
-    $ret[] = db_query("UPDATE {seo_checklist} SET completed = {$record->changed} WHERE id = {$record->id}");
+    $ret[] = update_sql("UPDATE {seo_checklist} SET completed = {$record->changed} WHERE id = {$record->id}");
   }
 
-  db_drop_field('seo_checklist', 'date_changed');
-  db_drop_field('seo_checklist', 'option_checked');
-  db_drop_field('seo_checklist', 'checked_module');
+  db_drop_field($ret, 'seo_checklist', 'date_changed');
+  db_drop_field($ret, 'seo_checklist', 'option_checked');
+  db_drop_field($ret, 'seo_checklist', 'checked_module');
 
-  //return $ret;
+  return $ret;
 }
 
 /**
@@ -321,16 +304,16 @@ function seochecklist_update_6204() {
  */
 function seochecklist_update_6205() {
   $ret = array();
-  db_drop_field('seo_checklist', 'subgroup_id');
-  db_add_field('seo_checklist', 'uid', array(
+  db_drop_field($ret, 'seo_checklist', 'subgroup_id');
+  db_add_field($ret, 'seo_checklist', 'uid', array(
     'type' => 'int',
     'unsigned' => TRUE,
     'not null' => TRUE,
     'default' => 0,
     'description' => 'The {user}.uid of the account that completed this task.',
   ));
-  $ret[] = db_query("UPDATE {seo_checklist} SET module = LOWER(module)");
-  //return $ret;
+  $ret[] = update_sql("UPDATE {seo_checklist} SET module = LOWER(module)");
+  return $ret;
 }
 
 /**
@@ -338,23 +321,32 @@ function seochecklist_update_6205() {
  */
 function seochecklist_update_6206() {
   $ret = array();
-  $ret[] = db_query("UPDATE {seo_checklist} SET name = 'If appropriate, submit your company to Google Local Business Center - <a href=\"https://www.google.com/local/add/login\">https://www.google.com/local/add/login</a>' WHERE id = 29");
-  //return $ret;
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'If appropriate, submit your company to Google Local Business Center - <a href=\"https://www.google.com/local/add/login\">https://www.google.com/local/add/login</a>' WHERE id = 29");
+  return $ret;
 }
 
 function seochecklist_update_6207() {
   $ret = array();
-  $ret[] = db_query("UPDATE {seo_group} SET name = 'Social Media' WHERE id = 8");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (47, 7, 'Site Verification Module', 'site_verify', 'http://drupal.org/project/site_verify', 'admin/modules', '', 0)");
-  $ret[] = db_query("INSERT INTO {seo_group} VALUES (10, 'Geographic', '')");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (50, 10, 'hCard Module', 'hcard', 'http://drupal.org/project/hcard', 'admin/modules', '', 1)");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (51, 10, 'Use the Meta Tags module to add geo meta tags to your site.', '', '', '', '', 2)");
-  $ret[] = db_query("INSERT INTO {seo_group} VALUES (11, 'Optional (but helpful)', '')");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (52, 11, 'Vertical Tabs Module', 'vertical_tabs', 'http://drupal.org/project/vertical_tabs', 'admin/modules', '', 1)");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (53, 11, 'Administration Menu', 'admin_menu', 'http://drupal.org/project/admin_menu', 'admin/modules', '', 2)");
-  $ret[] = db_query("INSERT INTO {seo_group} VALUES (12, 'Performance', '')");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (54, 12, 'Turn on Drupal\'s built in caching.', '', '', '', 'admin/settings/performance/default', 1)");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (55, 12, 'Boost Module', 'boost', 'http://drupal.org/project/boost', 'admin/modules', 'admin/settings/performance/boost', 2)");
-  $ret[] = db_query("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (56, 12, 'Authcache Module', 'authcache', 'http://drupal.org/project/authcache', 'admin/modules', '', 3)");
-  //return $ret;
+  $ret[] = update_sql("UPDATE {seo_group} SET name = 'Social Media' WHERE id = 8");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (47, 7, 'Site Verification Module', 'site_verify', 'http://drupal.org/project/site_verify', 'admin/build/modules', '', 0)");
+  $ret[] = update_sql("INSERT INTO {seo_group} VALUES (10, 'Geographic', '')");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (50, 10, 'hCard Module', 'hcard', 'http://drupal.org/project/hcard', 'admin/build/modules', '', 1)");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (51, 10, 'Use the Meta Tags module to add geo meta tags to your site.', '', '', '', '', 2)");
+  $ret[] = update_sql("INSERT INTO {seo_group} VALUES (11, 'Optional (but helpful)', '')");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (52, 11, 'Vertical Tabs Module', 'vertical_tabs', 'http://drupal.org/project/vertical_tabs', 'admin/build/modules', '', 1)");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (53, 11, 'Administration Menu', 'admin_menu', 'http://drupal.org/project/admin_menu', 'admin/build/modules', '', 2)");
+  $ret[] = update_sql("INSERT INTO {seo_group} VALUES (12, 'Performance)', '')");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (54, 12, 'Turn on Drupal\'s built in caching.', '', '', '', 'admin/settings/performance/default', 1)");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (55, 12, 'Boost Module', 'boost', 'http://drupal.org/project/boost', 'admin/build/modules', 'admin/settings/performance/boost', 2)");
+  $ret[] = update_sql("INSERT INTO {seo_checklist} (id, group_id, name, module, download, enable, configure, order_id) VALUES (56, 12, 'Authcache Module', 'authcache', 'http://drupal.org/project/authcache', 'admin/build/modules', '', 3)");
+  return $ret;
 }
+
+/**
+ * Issue 1109608: Link to Submit your XML Sitemap to Bing no longer works
+ */
+function seochecklist_update_6208() {
+  $ret = array();
+  $ret[] = update_sql("UPDATE {seo_checklist} SET name = 'Submit your XML Sitemap to Bing - <a href=\"http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx\">http://www.bing.com/webmaster/WebmasterAddSitesPage.aspx</a>', order_id = 21 WHERE id = 28");
+  return $ret;
+}
\ No newline at end of file
diff --git a/seochecklist.module b/seochecklist.module
index 58516d0..daeb230 100644
--- a/seochecklist.module
+++ b/seochecklist.module
@@ -1,5 +1,4 @@
 <?php
-// $Id$
 
 /**
  * @file
@@ -10,28 +9,23 @@
  * Implementation of hook_help().
  */
 function seochecklist_help($path, $arg) {
-  if ($path == 'admin/config/search/seochecklist') {
+  if ($path == 'admin/settings/seochecklist') {
     return '<p>' . t('Check off each SEO-related task as you complete it. Do not forget to click the <em>Save</em> button!') . '</p>';
   }
 }
 
 /**
- * Implementation of hook_permission().
+ * Implementation of hook_perm().
  */
-function seochecklist_permission() {
-  return array(
-    'access seochecklist content' => array(
-      'title' => t('Access SEOchecklist Content'),
-      'description' => t('Access to SEO Checklist.'),
-    ),
-  );
+function seochecklist_perm() {
+  return array('access seochecklist content');
 }
 
 /**
  * Implementation of hook_menu().
  */
 function seochecklist_menu() {
-  $items['admin/config/search/seochecklist'] = array(
+  $items['admin/settings/seochecklist'] = array(
     'title' => 'SEO Checklist',
     'description' => 'Keep track of your Drupal Search Engine Optimization tasks.',
     'page callback' => 'drupal_get_form',
@@ -43,20 +37,14 @@ function seochecklist_menu() {
 }
 
 /**
- * Implementation of hook_page_alter().
+ * Implementation of hook_footer().
  */
-
-function seochecklist_page_alter(&$page) {
+function seochecklist_footer($main = 0) {
   if (variable_get('seo_checklist_link', 0)) {
-    $page['page_bottom']['devel']= array(
-      '#type' => 'markup',
-      '#markup' => '<div align="center"><a href="http://www.volacci.com/" target="_blank">Drupal SEO</a></div>',
-    );
+    return '<div align="center"><a href="http://www.volacci.com/" target="_blank">Drupal SEO</a></div>';
   }
 }
 
-//hide references to D6 book
-/*
 function seochecklist_get_book_references($tid) {
   $references = array(
     1 => 59,
@@ -84,4 +72,3 @@ function seochecklist_get_book_references($tid) {
 
   return isset($references[$tid]) ? $references[$tid] : NULL;
 }
-*/
