This is a current work-in-progress project of mine. The application is designed to parse through the file hierarchy of a static-page website to find pages, site resources, or entire folders that are no longer being used by the site. I started the project after doing maintenance on a string of series websites with 200 or more pages. On every maintenance project, after some investigation, I realized that there were many pages and files scattered all through the site that were no longer being used. Some of these were simply single pages or old PDFs that had been out phased without being deleted, and others were entire folders from previous versions of the site that were now mostly unused, but a few random pages on the current site still used these archived resources (thus preventing deletion for fear of breaking pages elsewhere).
This application attempts to remedy this problem by giving web developers an automated method to find outdated pages. The script searches through every site file from the parent directory down looking for all links to other pages (in the form of any src or href attributes). Each page is given a list of links out and links in. The final file list is then output, highlighting files that have no links going to them, giving the user an easy method of finding and removing useless pages.
The application currently works with basic functionality; the files and links are parsed and output in a format that is mildly readable. For advanced features, basic VIP file functionality has been implemented, but not much else is finished. Features I will still like to implement are:
- Expanded VIP file parsing
- Recursive dead-file parsing
- Currently the script does not know if a page only has links from useless files (and is therefore useless itself). This is the next large step needing implementation.
- Ability to move and / or delete dead files, resources, or folders.
- Suggestions on which files should be moved for a cleaner site hierarchy
- Create a much more readable and useful user interface
- Speed optimizations
I'm also using this project as a crash course in object oriented programming in PHP, as well as widening my knowledge of jQuery on the display side.