Coder Social home page Coder Social logo

nasa / sitepod Goto Github PK

View Code? Open in Web Editor NEW
24.0 6.0 16.0 622 KB

A Sitemap Generator written in PHP

License: GNU General Public License v3.0

PHP 86.54% HTML 13.46%
sitemap-generator gplv3 search-engine php sitemap sitemaps sitemap-xml sitemap-builder sitemap-files sitemap-url

sitepod's Introduction

Sitepod

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock Build Status Security Rating

Quality gate

Sitepod; A Sitemap Generator written in PHP. Sitepod uses the Fat-Free Framework, a powerful yet easy-to-use PHP micro-framework designed to build dynamic and robust web applications.

Installation from the Composer PHP Package Manager

Sitemap can be installed using the Composer dependency manager for PHP as follows

$ composer require nasa/sitepod

This will install Sitepod into a directory structure vendor/nasa/sitepod/ relative to wherever the command was executed.

Alternatively, you can install the master branch from source

Installation from Source

See Sitepod Installation

Configuration and Usage

See Sitepod Setup and Usage

Community, Support and Development

Please open a ticket in the Sitepod issue tracker. Please use labels to classify your issue.

License

This code has been forked from the now unmaintained phpSitemapNG The code is licensed permissively under the GPLv3 License which respects the origin authors work e.g. Tobias Kluge, enarion.net. A copy of the GPLv3 License can be found below and is also included as part of this software.

This file is part of Sitepod.

Sitepod is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

Sitepod is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with Sitepod.  If not, see <http://www.gnu.org/licenses/>.

sitepod's People

Contributors

carusogabriel avatar dlackty avatar lewismc avatar peter279k avatar sigee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sitepod's Issues

add CLI to allow easier automation

Here's the pertinent part of the ESDSWG Search Relevancy email thread between @eniad and @lewismc:

  1. Can the sitemap generation be automated with sitepod? We'd prefer a command line interface for cronjobs, but need some way to programmatically run the generator. We would do this either periodically or when new content (like a new data set) is added.

This is not yet implemented and I would need to work on it a wee bit. I think it should be a priority so I will try to write some documentation and begin work on this shortly. I agree with you here, this needs to be automated and without a CLI is a near impossible.

Call to undefined function split()

I'm using php 7.2x
After starting sitepod I got the following error-message:
AH01071: Got error 'PHP message: PHP Fatal error: Uncaught Error: Call to undefined function split() in /var/www/vhosts/domainname.tld/httpdocs/vendor/nasa/sitepod/inc/classes/Crawler.class.php:340

This is because split() is in php 7.x removed!
Therefore split() must be replaced with str_split().
Because I'm not firm with GIT I can't do that.

timeformat error when using Short Format

Short format timeformat (date only) causes error in Google sitemap test. See errors below:

Type | Issue | Description | Issues count | Example | Line | Detected
Errors | Invalid date | An invalid date was found. Please fix the date or formatting before resubmitting. | 8
Parent tag: urlTag: lastmodValue: 2017-06-20-04:00 | 7 | Aug 18, 2017
Parent tag: urlTag: lastmodValue: 2017-06-20-04:00 | 13 | Aug 18, 2017
Parent tag: urlTag: lastmodValue: 2017-06-20-04:00 | 19 | Aug 18, 2017

This is easily avoided using the Long format (with time) timeformat.

Fix encoding warning upon index.php form submit

Whenever we submit a new Sitemap generation task, we get a warning which we should fix.

A form was submitted in the windows-1252 encoding which cannot encode all Unicode characters, so user input may get corrupted. To avoid this problem, the page should be changed so that the form is submitted in the UTF-8 encoding either by changing the encoding of the page itself to UTF-8 or by specifying accept-charset=utf-8 on the form element.

screen shot 2017-03-16 at 1 23 08 pm

Adapting Sitepod to Accomodate Dynamicaly-generated Content

Say, I have a 'one-page' Website/Web application or I serve my Website through a CMS such as Sharepoint where everything is dynamically generated. How will/does Sitepod currently perform? This issue should track and implement support for the above scenario.

Fix licensing headers

Right now license headers are all over the place. We should make them consistent.

Authentication/Proxy Configuration for Sitepod

Say I want to use Sitepod to build Sitemaps for Websites in present in my intranet. Will sitepod be able to access those sites through network infrastructure such as VPN/Proxy, etc. If not, then we need to implement this support.

Add functionality to ping BING

We can easily ping BING when we generate new sitemap's... this is documented at https://www.bing.com/webmaster/help/how-to-submit-sitemaps-82a15bd4 and I've copied the sentiment below for convenience. We should add similar functionality to how ping'ing works for Google.

Pinging Bing Using a HTTP request

If you have an automated system that generates your sitemap, you may find it easier to inform Bing about your sitemap by sending a HTTP request. Using your favorite method to send the request, use the following URL, replacing the example with your sitemap location and URL encoding everything behind the sitemap parameter:

http://www.bing.com/ping?sitemap=http%3A%2F%2Fwww.example.com/sitemap.xml

The server will respond with HTTP Status 200 (OK) if the submission was successful. Unlike the submission options inside Webmaster Tools you will not get any information about the validity about the actual sitemap itself.

noteNote
If you’d like more programmatic flexibility consider using the Bing Webmaster API and its methods to submit and get details about sitemaps. 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.