SlideShare a Scribd company logo
1 of 32
The web is made of links.
Don’t break them.
A method to gradually transition a large site
to a CMS on your own timetable and keep it
transparent to your visitors while doing it.
We’ve had a website for a long time – since April 1995.
Our first sitemap. It’s a web of links! Get it?!? Guess what – it still is.
Upper level pages recently redesigned and using a CMS. Only 1% of total pages though.
Some of our 90’s-era sites still get a lot of traffic.
All of whom had varying web skills (if any) and were allowed to do anything they wanted.
115
known contributors
Defined as pages that have a different design then the top-level visit-oriented pages.
115
known contributors
88
current sub-sites
We’ve ended up with a LOT of content in 18 years.
115
known contributors
88
current sub-sites
27,482
total web pages
Plus an unknowable amount of browser bookmarks & print references.
115
known contributors
88
current sub-sites
27,482
total web pages
501,170
incoming links from other sites
Screenshots of our collection homepages in 2010. Definite branding and usability issues.
The master plan. (BTW, the web office has a staff of 2.75 FTE)
Um, yeah.
Reality check #1
We will never have enough time or staff
to update it all at once.
Time to panic.
Reality check #1
Any CMS we choose will have a different way
of writing links and will break our old URLs.
Reality check #2
We will never have enough time or staff
to update it all at once.
Don’t waste your time fighting this. Let your new CMS do its thing.
Bad idea #1: We have to get our new CMS
to follow our old URL scheme!
New: www.flmnh.ufl.edu/visit/shopping/butterfly-plant-sales/
Old: www.flmnh.ufl.edu/butterflies/plants.htm
This is not a solution. This still breaks stuff.
Bad idea #2: Let’s squirrel away all of our old
content to an “archive” area of the site!
http://archive.yoursite.org/old-stuff.htm
You’ll need to admin access to your servers to try this yourself.
This is how we handled it.
Just one CMS? Nah, let’s make it interesting and run two!
A reverse proxy allows multiple servers to deliver pages using the same URL space.
We chose to use Apache, but any reverse proxy/gateway will do.
Setting up a proxy on Apache is pretty simple, but read the documentation for more details.
Apache mod_proxy Module
RewriteRule (.*) http://www.flmnh.ufl.edu
ProxyPassReverse / http://iiswww.flmnh.ufl.edu
More info: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
Tell the proxy what is on your legacy server and serve it immediately if there is a match.
Be thorough - list every possible legacy directory path in your conf file. (We have 137.)
Configuration File Rewrite Rules
RewriteCond %{REQUEST_URI} ^/annualreports(.*) [OR,NC]
RewriteCond %{REQUEST_URI} ^/anthro/caribarch(.*) [OR,NC]
RewriteCond %{REQUEST_URI} ^/caribarch (.*) [OR,NC]
RewriteCond %{REQUEST_URI} ^/bats(.*) [OR,NC]
RewriteCond %{REQUEST_URI} ^/birds(.*) [NC]
More info: http://httpd.apache.org/docs/current/configuring.html
Our legacy server happens to run IIS. YLMV.
If the page requested is not on the legacy server, send it on to your main CMS.
The CMS will serve the page if it is housed on that system.
If the page is not on your main CMS either, send it on for further processing.
Redirect app built in-house with PHP/MySQL backend using CakePHP framework for GUI.
The app can send it to other systems (if you go that route) or redirect offsite.
Be sure to terminate with a 404 if it truly is a bogus link.
Plug in your legacy/CMS situation and hopefully this can help you.
My awesome coworkers. Couldn’t have pulled this off without ‘em.
Credits
Taylor Wilson
Web Developer
Warren Brown
Enterprise Systems Coordinator
Andy Lievertz
Systems Administrator
Contact me if you have any questions or want more techy details.
Sarah Fazenbaker
sfaze@flmnh.ufl.edu
@sfaze
Thanks!

More Related Content

What's hot

Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Cliff Seal
 
Building native mobile apps with word press
Building native mobile apps with word pressBuilding native mobile apps with word press
Building native mobile apps with word pressNikhil Vishnu P.V
 
Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017Carel Bekker
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTORoy Sivan
 
Deploying Rails Apps with Capistrano
Deploying Rails Apps with CapistranoDeploying Rails Apps with Capistrano
Deploying Rails Apps with CapistranoNyros Technologies
 
Create a fake REST API without writing a single line of code
Create a fake REST API without writing a single line of codeCreate a fake REST API without writing a single line of code
Create a fake REST API without writing a single line of codeYashobanta Bai
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05Vivek chan
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Railshasan2000
 
How angularjs saves rails
How angularjs saves railsHow angularjs saves rails
How angularjs saves railsMichael He
 
[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url Design[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url DesignNexus FrontierTech
 
Ultra-modern Front-end Dev & Introducing Spar
Ultra-modern Front-end Dev & Introducing SparUltra-modern Front-end Dev & Introducing Spar
Ultra-modern Front-end Dev & Introducing SparAaron White
 
AngularJS meets Rails
AngularJS meets RailsAngularJS meets Rails
AngularJS meets RailsElena Torró
 
Mule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutesMule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutesGennaro Spagnoli
 
Webinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST APIWebinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST APIWP Engine UK
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkBilly Shih
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introductionshaojung
 
Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007SharePoint Experts
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescueMarko Heijnen
 

What's hot (20)

Rack
RackRack
Rack
 
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
Introducing WordPress Multitenancy (Wordcamp Vegas/Orlando 2015/WPCampus)
 
Building native mobile apps with word press
Building native mobile apps with word pressBuilding native mobile apps with word press
Building native mobile apps with word press
 
Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017Serverless WordPress using AWS Services - WordCamp Atlanta 2017
Serverless WordPress using AWS Services - WordCamp Atlanta 2017
 
WordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTOWordPress and Client Side Web Applications WCTO
WordPress and Client Side Web Applications WCTO
 
Deploying Rails Apps with Capistrano
Deploying Rails Apps with CapistranoDeploying Rails Apps with Capistrano
Deploying Rails Apps with Capistrano
 
Create a fake REST API without writing a single line of code
Create a fake REST API without writing a single line of codeCreate a fake REST API without writing a single line of code
Create a fake REST API without writing a single line of code
 
04 asp.net session05
04 asp.net session0504 asp.net session05
04 asp.net session05
 
Introduction to Ruby on Rails
Introduction to Ruby on RailsIntroduction to Ruby on Rails
Introduction to Ruby on Rails
 
How angularjs saves rails
How angularjs saves railsHow angularjs saves rails
How angularjs saves rails
 
[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url Design[GeekTalk#2] Takaaki Mizuno - Api Url Design
[GeekTalk#2] Takaaki Mizuno - Api Url Design
 
Ultra-modern Front-end Dev & Introducing Spar
Ultra-modern Front-end Dev & Introducing SparUltra-modern Front-end Dev & Introducing Spar
Ultra-modern Front-end Dev & Introducing Spar
 
The World of Dynamic Sites
The World of Dynamic SitesThe World of Dynamic Sites
The World of Dynamic Sites
 
AngularJS meets Rails
AngularJS meets RailsAngularJS meets Rails
AngularJS meets Rails
 
Mule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutesMule esb - How to connect to a MySql Database in 5 minutes
Mule esb - How to connect to a MySql Database in 5 minutes
 
Webinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST APIWebinar: AngularJS and the WordPress REST API
Webinar: AngularJS and the WordPress REST API
 
Ember,js: Hipster Hamster Framework
Ember,js: Hipster Hamster FrameworkEmber,js: Hipster Hamster Framework
Ember,js: Hipster Hamster Framework
 
Web Application Introduction
Web Application  IntroductionWeb Application  Introduction
Web Application Introduction
 
Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007Cotent Deploymet In Share Point 2007
Cotent Deploymet In Share Point 2007
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 

Similar to The web is made of links. Don't break them.

Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web developmentStevie T
 
EdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cmsEdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cmsBryan Ollendyke
 
Grav CMS
Grav CMSGrav CMS
Grav CMSbtopro
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Bastian Grimm
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Serversupertom
 
Research on Key Technology of Web Reptile
Research on Key Technology of Web ReptileResearch on Key Technology of Web Reptile
Research on Key Technology of Web ReptileIRJESJOURNAL
 
Create dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQLCreate dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQLkangaro10a
 
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...Site Speed = Success – Optimising WordPress from the Server Up - Presented by...
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...WordCamp Harare
 
WordCamp Harare 2016 - Site Speed = Success
WordCamp Harare 2016 - Site Speed = SuccessWordCamp Harare 2016 - Site Speed = Success
WordCamp Harare 2016 - Site Speed = SuccessAnthony Somerset
 
Demystifying web performance tooling and metrics
Demystifying web performance tooling and metricsDemystifying web performance tooling and metrics
Demystifying web performance tooling and metricsAnna Migas
 
Automation in the Cloud by_Tommy post and Bradley Bishop
Automation in the Cloud by_Tommy post and Bradley BishopAutomation in the Cloud by_Tommy post and Bradley Bishop
Automation in the Cloud by_Tommy post and Bradley BishopTommy Post
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedAndy Kucharski
 
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000'sDevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000'stechopsguru
 
Automating your infrastructure with Chef
Automating your infrastructure with ChefAutomating your infrastructure with Chef
Automating your infrastructure with ChefJohn Ewart
 
Rock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityRock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityGabriella Davis
 
Up and Running with WordPress - Site Shack Nashville Web Design
Up and Running with WordPress - Site Shack Nashville Web DesignUp and Running with WordPress - Site Shack Nashville Web Design
Up and Running with WordPress - Site Shack Nashville Web DesignJudy Wilson
 

Similar to The web is made of links. Don't break them. (20)

Intro to advanced web development
Intro to advanced web developmentIntro to advanced web development
Intro to advanced web development
 
EdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cmsEdTechJoker Spring 2020 - Lecture 5 grav cms
EdTechJoker Spring 2020 - Lecture 5 grav cms
 
Grav CMS
Grav CMSGrav CMS
Grav CMS
 
Scalable talk notes
Scalable talk notesScalable talk notes
Scalable talk notes
 
Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018Migration Best Practices - SEOkomm 2018
Migration Best Practices - SEOkomm 2018
 
Apache Traffic Server
Apache Traffic ServerApache Traffic Server
Apache Traffic Server
 
Research on Key Technology of Web Reptile
Research on Key Technology of Web ReptileResearch on Key Technology of Web Reptile
Research on Key Technology of Web Reptile
 
Create dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQLCreate dynamic sites with PHP & MySQL
Create dynamic sites with PHP & MySQL
 
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...Site Speed = Success – Optimising WordPress from the Server Up - Presented by...
Site Speed = Success – Optimising WordPress from the Server Up - Presented by...
 
WordCamp Harare 2016 - Site Speed = Success
WordCamp Harare 2016 - Site Speed = SuccessWordCamp Harare 2016 - Site Speed = Success
WordCamp Harare 2016 - Site Speed = Success
 
Demystifying web performance tooling and metrics
Demystifying web performance tooling and metricsDemystifying web performance tooling and metrics
Demystifying web performance tooling and metrics
 
Automation in the Cloud by_Tommy post and Bradley Bishop
Automation in the Cloud by_Tommy post and Bradley BishopAutomation in the Cloud by_Tommy post and Bradley Bishop
Automation in the Cloud by_Tommy post and Bradley Bishop
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 
Ror caching
Ror cachingRor caching
Ror caching
 
Ppt ict.pptx 2
Ppt ict.pptx 2Ppt ict.pptx 2
Ppt ict.pptx 2
 
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000'sDevOps Naughties Style - How We  DevOps at MP3.com in the Early 2000's
DevOps Naughties Style - How We DevOps at MP3.com in the Early 2000's
 
Automating your infrastructure with Chef
Automating your infrastructure with ChefAutomating your infrastructure with Chef
Automating your infrastructure with Chef
 
Rock Solid Sametime for High Availability
Rock Solid Sametime for High AvailabilityRock Solid Sametime for High Availability
Rock Solid Sametime for High Availability
 
Up and Running with WordPress - Site Shack Nashville Web Design
Up and Running with WordPress - Site Shack Nashville Web DesignUp and Running with WordPress - Site Shack Nashville Web Design
Up and Running with WordPress - Site Shack Nashville Web Design
 
Headless CMS VS Traditional CMS.pdf
Headless CMS VS Traditional CMS.pdfHeadless CMS VS Traditional CMS.pdf
Headless CMS VS Traditional CMS.pdf
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 

The web is made of links. Don't break them.

  • 1. The web is made of links. Don’t break them. A method to gradually transition a large site to a CMS on your own timetable and keep it transparent to your visitors while doing it.
  • 2. We’ve had a website for a long time – since April 1995.
  • 3. Our first sitemap. It’s a web of links! Get it?!? Guess what – it still is.
  • 4. Upper level pages recently redesigned and using a CMS. Only 1% of total pages though.
  • 5. Some of our 90’s-era sites still get a lot of traffic.
  • 6. All of whom had varying web skills (if any) and were allowed to do anything they wanted. 115 known contributors
  • 7. Defined as pages that have a different design then the top-level visit-oriented pages. 115 known contributors 88 current sub-sites
  • 8. We’ve ended up with a LOT of content in 18 years. 115 known contributors 88 current sub-sites 27,482 total web pages
  • 9. Plus an unknowable amount of browser bookmarks & print references. 115 known contributors 88 current sub-sites 27,482 total web pages 501,170 incoming links from other sites
  • 10. Screenshots of our collection homepages in 2010. Definite branding and usability issues.
  • 11. The master plan. (BTW, the web office has a staff of 2.75 FTE)
  • 12. Um, yeah. Reality check #1 We will never have enough time or staff to update it all at once.
  • 13. Time to panic. Reality check #1 Any CMS we choose will have a different way of writing links and will break our old URLs. Reality check #2 We will never have enough time or staff to update it all at once.
  • 14. Don’t waste your time fighting this. Let your new CMS do its thing. Bad idea #1: We have to get our new CMS to follow our old URL scheme! New: www.flmnh.ufl.edu/visit/shopping/butterfly-plant-sales/ Old: www.flmnh.ufl.edu/butterflies/plants.htm
  • 15. This is not a solution. This still breaks stuff. Bad idea #2: Let’s squirrel away all of our old content to an “archive” area of the site! http://archive.yoursite.org/old-stuff.htm
  • 16. You’ll need to admin access to your servers to try this yourself. This is how we handled it.
  • 17. Just one CMS? Nah, let’s make it interesting and run two!
  • 18. A reverse proxy allows multiple servers to deliver pages using the same URL space.
  • 19. We chose to use Apache, but any reverse proxy/gateway will do.
  • 20. Setting up a proxy on Apache is pretty simple, but read the documentation for more details. Apache mod_proxy Module RewriteRule (.*) http://www.flmnh.ufl.edu ProxyPassReverse / http://iiswww.flmnh.ufl.edu More info: http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
  • 21. Tell the proxy what is on your legacy server and serve it immediately if there is a match.
  • 22. Be thorough - list every possible legacy directory path in your conf file. (We have 137.) Configuration File Rewrite Rules RewriteCond %{REQUEST_URI} ^/annualreports(.*) [OR,NC] RewriteCond %{REQUEST_URI} ^/anthro/caribarch(.*) [OR,NC] RewriteCond %{REQUEST_URI} ^/caribarch (.*) [OR,NC] RewriteCond %{REQUEST_URI} ^/bats(.*) [OR,NC] RewriteCond %{REQUEST_URI} ^/birds(.*) [NC] More info: http://httpd.apache.org/docs/current/configuring.html
  • 23. Our legacy server happens to run IIS. YLMV.
  • 24. If the page requested is not on the legacy server, send it on to your main CMS.
  • 25. The CMS will serve the page if it is housed on that system.
  • 26. If the page is not on your main CMS either, send it on for further processing.
  • 27. Redirect app built in-house with PHP/MySQL backend using CakePHP framework for GUI.
  • 28. The app can send it to other systems (if you go that route) or redirect offsite.
  • 29. Be sure to terminate with a 404 if it truly is a bogus link.
  • 30. Plug in your legacy/CMS situation and hopefully this can help you.
  • 31. My awesome coworkers. Couldn’t have pulled this off without ‘em. Credits Taylor Wilson Web Developer Warren Brown Enterprise Systems Coordinator Andy Lievertz Systems Administrator
  • 32. Contact me if you have any questions or want more techy details. Sarah Fazenbaker sfaze@flmnh.ufl.edu @sfaze Thanks!