Large scale, easy deployable and tailored CMS - wordpress

We're looking in to a product that we would like to launch that gives small business owners (specifically offline shop owners) the chance to easily build a site.
A option would be a special 'fork' of wordpress/joomla/etc with some predefined pages (about us, homepage, opening times, pictures, contact etc) and also predefined templates which they can alter.
A shop owner would sign up and buy or move a domain to us to which we attach the software. He chooses a template and fills in the standard info. Some elements of this are required but he could also add his own pages (e.g. specific sale events).
Within the templates there are elements which he cannot change (backlinks and/or widgets from us). But he can change the templates (colors, pictures, logos).
Everything should be hosted in the cloud (e.g. EC2) and easily scalable. We would sell this service for a small fee per month giving a small shop owner an easy way to his own site.
Are there any open-source packages that have these options?

Joomla isn't very flexible to adjust,
Wordpress is a better choice.
the build in twentyeleven theme will show you how easy it can be to adjust colors.
It's also far easier for the user to manage.
You might even take a look at a WP-multisite. Manage all sites with one admin. And keep all your wp sites up to date at once.
To disable some widgets you only need a good template.
Robert suggests magento and shopify, Magento will be too much and to hard to manage. I'm not familiar with shopyfy, but it's a online shop (not offline)
Form this question I take that you/your company is a startup and you don't have much experience.(As does a quick google)
What ever you take you will need (more then basic) coding knowledge php/html/css/javascript

Might be worth having a look at http://www.magentocommerce.com/ or http://www.shopify.com

Related

What is the difference between building a site on wordpress vs hand coding?

So I'm a beginner to coding and I am wondering what is the difference between building a site using wordpress (which I am not familiar with) as opposed to just hand coding from a text editor like sublime and then hosting it. Should I be using Wordpress? What exactly are the benefits? Thank you.
It all depends on what you want the website for.
I've both hand coded and used Wordpress (and before that Moveable Type) over the past 15 years. When I was doing infrequent updates to my website then hand coding was perfect. I could make it look exactly as I wanted, it had only the elements that I needed and nothing heavy in the backend to slow it all down.
When that all changed to being frequently updated Wordpress was much easier. The ability to schedule posts was one of the big things that got me into using it. If you're doing frequent updates, which, say need to post at the same time every day or multiple times in a week, but you're not necessarily available, then it's great. If you're short on time, then it's also useful because you choose once how you want the site to look then type your information and publish it. You don't need to amend any code or use FTP.
What you do lack is the personalisation. Unless you're also going to learn how to make Wordpress themes to properly personalise a Wordpress site, then you're stuck with the templates available for download. Some are great, some are mediocre and some are very simple.
My next project is to get my sports team online properly, and because there are about five or so people who would need to edit it Wordpress works for this. I can give people limited access to allow them to post/edit posts but know that because they're restricted, they're not going to break it all, unlike if I allowed them FTP access, which could be a massive disaster with people who aren't familiar with that.
You need to consider what you're really trying to achieve. If the website is really you and needs to reflect you and you don't update it relentlessly, then hand coding would be my first choice. If other (perhaps inexperienced) people are involved or you need to do things quickly, then I'd choose Wordpress.
If you want to create your first website, you should use a CMS like WordPress, because it will be easiest for you to publish content online and you will find many free plugins and themes at the wordpress website.
The main difference between a CMS like WordPress and a hand coded website is the first is not create for you. WordPress can be used in many way, but you will have to learn the WordPress codex to create your own themes and plugins.
With the hand coded, you will create a website optimized for what you need.
But you have to consider, you will have to code again each time you want to edit something, and for some features it will be a lot of work.
WordPress already include many "must have" features like seo friendly URLs, categories and tags etc..
But you can also look for another CMS, smaller than Wordpress

Custom code in Wordpress: what are the programming limitations?

I have a website (www.easterisland.travel) that I'm considering converting into a Wordpress site. Why? Basically for the following reasons:
1: To use a CMS, so that I can teach others to further add content to the website without having programming knowledge. I would built the advanced pages myself though, and the pages that others would manage would be simple information pages.
2: Access to all of these great plugins, for example the "similar pages" plugin at the bottom of each page (which I haven't found as a independent solution for raw webpages), which is just fantastic to keep people reading.
At my site I have lots of custom stuff like booking systems that I've created. There's an AngularJS shopping cart (www.easterisland.travel/tours/), instant online booking and payment (using PayPal's Express Checkout) etc. There's a page for cruise ship shore excursions (www.easterisland.travel/cruise-ship/) that's automatically generated from database data, and I've created a system where I can add cruise ships and shore excursions (adding correct itinerary, price, info etc). Passengers can also log in and communicate to other future fellow travelers within the same group, and get organized for meeting up on the tour day. I have many more plans to go as well, for example showing hotel info, displaying TripAdvisor data (using TripAdvisor API) etc.
The million dollar questions are:
1) Can all of this be achieved in a Wordpress site? Can I add all of these systems using this platform? What are the limitations?
2) Would it make sense to change to Wordpress?
3) What implementation should be used? I don't want my code to be removed or altered when Wordpress is automatically updated.
Thank you!
Wordpress doesn't have any limitations, you can extend its default functionality if it can't accomplish what you need with either plugins or custom code. and having a framework is always better than building from scratch in many ways.
HOWEVER, wordpress was originally design as blogging platform, and if you plan on extending its simple functionality you should take some time to understand how it works to properly integrate your custom needs or things could get ugly,
If you know how to interact with the database, you can easily do what you want, there are built-in functions you can use according to your needs for database interactions or just create your own if it doesn't fit well very much.
just a quick overview with wordpress database.
wp_posts - where sites main front-end data are stored, like posts, pages,
wp_postmeta - storage for additional data that are stored on wp_posts
wp_comments - storage for user interaction data for wp_posts like comments, I've also used these before to store user/admin messages.
wp_terms - use for dividing/categorizing wp_posts data, like categories and tags,
wp_options - use for back-end storage data and configuration.
You'd need to check out these functions as you're probably will encounter them in the future
https://codex.wordpress.org/Function_Reference/add_post_meta
https://developer.wordpress.org/reference/functions/get_post_meta/
https://codex.wordpress.org/Function_Reference/update_post_meta
https://codex.wordpress.org/Function_Reference/register_post_type
https://codex.wordpress.org/Function_Reference/register_taxonomy
https://codex.wordpress.org/Class_Reference/WP_Query
If you also need database interaction, check out https://codex.wordpress.org/Class_Reference/wpdb
and for front-end implementation, check this out https://developer.wordpress.org/themes/basics/template-hierarchy/, though I never used any other wordpress theme except Genesis Framework for these past 5 years as I never had to mess too much with HTML codes and almost everything can be customize using actions & filters. I advise you to use Theme Framework (and remember to always use CHILD THEME to be safe from Main Theme upgrade)
You might also want to check -> https://github.com/WebDevStudios/CMB2 (I prefer to use this than Advance Custom Fields plugins.)
Booking system in wordpress is a bit complex, I've successfully use gravity form as booking system with AngularJS + Ajax, but never tried a custom one from scratch and don't have a chance to use booking plugin as never encountered a cleint that wants a simple booking system.
Just to answer your question.
Yes, It can, for comparison, take a look at woocommerce plugin functionality and features, I believe thats more complex than what you need.
It would make sense to convert a site built from scratch to any CMS (wordpress is an option), the CMS is up to you, though its better to use the one that you know more for easier integration and customization.
You can use your child theme "functions.php" for extending your custom functionality, like create a folder in your theme for all your custom code and include/require it on your child theme functions.php or better create your own plugin to properly integrate them, you can divide the functionality in plugins, like plugin for booking system and plugin for payment functionality. check this out https://github.com/hlashbrooke/WordPress-Plugin-Template
I hope this would give you an idea.
Yes you can do all that. You will need someone with knowledge in wordpress themes and plugins but it is possible. The beauty of wordpress is, that you can write "bare" php code, and the small amount of functions to interact with wordpress are well documented.
Wordpress itself, is structured "simple" (compared to fancy tools like magento for example). So all it manages, are posts / pages / ... which, more or less derive from the same database object. You can add functionality to those things (for example, make posts cruise ships and other posts to shore excursions) or you can add your own database structure on top.
The theme system is bare php code, so you dont have to crawl through a thousand lines of xml codes to adjust little things.
Wordpress power derives from its simplicity of the "core wordpress" and the feature volume based on all those plugins. I believe alot of people would say, that you should go for a custom solution (based on symfony for example), or a CMS that already comes with more of your desired functions (like magento which has the checkout / paypal included), but I (as a wordpress fan) would see no problem to take wordpress.
I have never failed to find a plug-in to do what I needed! I manage three WordPress sites - although none of them is commercial. (Yacht Club, Cycling Club and Political Party EDA).
There is a plug in that allows PHP on any WordPress page, but it means that the Editors all have to write using the text (HTML) view rather than Visual tab. I found that useful for some of my pages - and I'm the only "Editor."
There's also a plug-in that allows you to code PHP in Widget. That doesn't have the above disadvantage.

WordPress questions (or is Drupal or a framework a better option?). User-contributed site for concert listings

I'm making a website for video game music concerts. It is user-contributed, which means that anyone can input information about new concerts or modify existing ones. Editors can revert changes. User's would probably be divided into four groups: unregistered users, registered users, editors, admins.
The site will be on a subdomain of http://vgmdb.net/, which is site for video game music albums. Please take a look at that site and imagine my site being similar, but simpler. I'm a beginner programmer with only little experience of WordPress, Drupal, PHP and MySQL. Some people suggested to use a framework instead of a CMS. But I like WordPress the most and would prefer to use that.
Can WordPress handle these things easily?
Advanced search functions.
The concerts would be linked to specific games, artists, venues, cities, countries, genres, dates etc. in the style of VGMdb's advanced search
User profiles with information about
what concerts they have been to ("went to this concert" -button on concerts)
what ratings they gave to concerts (5-star rating button on concerts)
Image galleries for each concert
for scans of pamphlets and other stuff given at the concert
users upload this stuff (just like they modify and add information)
Users can add or modify information about concerts
in an easy way in the style of http://vgmdb.net/album/new
Of course it can be done in WordPress. But it wouldn't recommend it.
The biggest problem is that you want unregistered visitors to do these things. WP is good at managing content. But not if it is user generated.
It will end up unstable and totally user unfriendly.
I don't know if Drupal would be better.
I'd recommend learning Zend framework or Symphony first.
You say you are a beginner, the hard truth is;
This is probably to big for you, and whatever you end using you will have to learn a lot more.

Should Wordpress be used to create a real estate listing site?

I have a real estate agent client who wants a website to list the properties he's selling. Although there are great 3rd party web apps out there that do this, he adamantly demands that I recreate a simple and custom website for him.
I can do this quickly with a php framework like Code Igniter that comes with MVC, data access objects and data bind controllers. The database would be straightforward:
t_page: generic content pages
t_property: for each property on the market, has fields like address, price, #of bed rooms etc..
However, the client has heard many great things about Wordpress, and strongly advises that I build his real estate site with it. I've only used Wordpress to create blogs and relatively straightforward websites. SO I dont know how effective it is as a real estate property content management system or how effective it is for users to search for real estate properties based on attributes such as "# of bedrooms, square footage, is basement finished etc..."
So my question is, is it a good idea to build a real estate agent website with Wordpress? Or should I try harder to convince him to build it with web framework like Code Igniter?
Rather than argue with your client about the future platform or CMS or listen to people for/opposed to WP out of principle, sit down with your client and map out exactly what he/she wants to do in terms of the site. How do they want to add material or blog posts? How easy should it be? How do they they want users to be able to search: by price range, location, etc? Get them to show you on other sites how they want things to work.
Then look at the capabilities of various CMS's, frameworks and the like. Investigate search and MLS plugins, property XML feeds, maps. Determine what other real estate sites use (esp. his/her competitors).
Then explain your decision with evidence as to what they want to do compared to what's possible with different systems. They may talk themselves in or out of systems without your help.
It's called working with a client so they get what they want in terms of usability and end-user functions, not imposing what you want on their project. Sure, you know what you are talking about in terms of getting things to work, but they don't care; they want it to work in a certain way: their way.
(And see what's already out there in terms of Real Estate WordPress Plugins and WordPress Real Estate Themes).
I've developed several real estate sites using Joomla and openRealty, and I have tried to create a decent real estate site for my wife using Wordpress due to it's ease of use for end-users, but unfortunately programming a real estate site in Wordpress is tricky. It's a blogging engine and not terribly good at "directory" based information. So I find that the ease of use goes out the window as you try to hack together real estate functionality. Then you are asking your end-users to create custom-fields, etc and it becomes a pain and you end spending too much time managing your end-users.
I love WP. But, a directory style site is not it's highest and best use.
If the client is so adamant that you use WP for his site then let him do it. Then wait till he comes crawling back to you when he can't get it to do what he wants and you can build in properly in CI.
You wouldn't tell a plumber to fix your toilet with a socket set...
Check out ExpressionEngine, it's perfect for this as you can create custom fields (# bedrooms, square footage etc.) and retrieve content by any of these custom fields using the {exp:channel:entries} tag.
So basically you'd create a channel for these listings and then use "custom fields" for the data about each of these listings (specified by the needs of your client).
If you need design for this site "City Guide" from WooThemes will be available for EE as of tonight ;-)
And since you mention CodeIgniter - EE 2.0 is built on CI and if you need some custom functionality it's all CI so that should feel like home.
Wordpress custom post types would work well for this sort of site.. A custom page template and modified WP_Query would provide the basis of the site.
As mentioned by everyone else, WP probably isn't the absolute best tool for the job, but it would not be a bad choice. I've done weirder things with it.
Old question but still relevant. My opinion is that WordPress is not a good option for creating real estate listing sites. The main reason is that it is designed primarily as a blogging engine so it requires a lot of work to set up and is susceptible to getting hacked. More detailed explanation here:
https://smallbusinessforum.co/why-an-alternative-to-wordpress-is-needed-for-real-estate-websites-ff82de096d93#.j2cduk4xs
I think that using Wordpress is a plus, not because it is the best program to use, but if you make the site properly, and he wants to add/change something, you (and many other people out there) can mold it to his needs.
There are a lot of plugins you could extract some php code from and make a good listing. You also have the option of using post_types (which are saved as posts), custom fields (which all the fields are saved in one table but indexed), or creating your own tables (adding tables function or using a plugin like PODS).
I think you will save time on coding if you go with Wordpress, and customization is pretty okay (not anywhere near decent, but I am pretty sure this site will be the next craigslist). Wordpress is the 1995 Toyota Tercel of CMSs: it won't be great, but it gets the job done, and almost everyone has worked on it at some point in their live.
If the money is good, then try to wow him with a CI demo. But with WP, could probably accomplish your task in a few hours. There are ways to set up CI around Wordpress, but that is beyond me.

How to generate and maintain lots of Landing Pages?

Currently I have to think of a solution for generating and maintaining lots of static landing pages for a membership-only e-commerce site (e.g. we sell products X, Y and Z but only to our members and we want to make a (SEO-friendly) landing pages for each product). Each page would be almost unique in content and the meta data but they would have almost always the same design / template.
The easiest approach short-term would be to code everything by hand in PHP, but the quantity would make it really cumbersome to maintain them; furthermore, it is possible that some people from the marketing department would like to generate and administer their own landing pages, none of them are tech-versed (not even basic html-tags). Therefore, I was thinking of using Wordpress and modifying it for my purposes.
Is this a good idea?
Is there a CMS better suited for this task?
Could you recommend me a better approach?
I would not recommend wordpress for an e-commerce site, as it designed primarily to be a blog and therefore would not be particularly easy to adapt.
You may want to look at OScommerce, or another open source e-commerce CMS. These would probably best suit your needs, especially if you wish to actually accept payment online.
PHP is a GREAT way to maintain what you are trying to do. Essentially you said only the content will change. With PHP, you can simply include all of the templates for re-use over and over again, and then you only need to deal with the content itself, which, if you know how to use Server-Side-Includes, can be done by as easily as swapping .txt files that contain your content.
Take a look at this video tutorial http://carsonified.com/blog/design/how-to-design-a-portfolio-site-part-2/, it is not exactly the same thing but look how he uses Wordpress 'customs fields'.
Basically, you create a template landing page with placeholder variables for the parts that change with each page (title, product name, etc.) and then on the post page you can add custom fields that will populate that information.

Resources