Joomla 404 Page Reverted Default

On a Joomla site running Gantry 5 template I noticed my custom 404 page stopped working. I looked up the process and when I looked at the files on the server I had an custom error page there already; however, the date on the file was in October and I put the custom file up there in March.

I was wondering if I got attacked and my files were changed. I didn’t notice anything other issues, but several files were changed in the g5_hydrogen folder. I then realized that around that time I upgraded my Gantry Template and Hydrogen Theme around October.

My conclusion is if you update the Gantry Hydrogen template, then make sure your custom 404 page is still working. I haven’t tested this in the WordPress version, but I would assume it is the same.

I hope this helps someone else out there…

Joomla Tags and SEO Descriptions

One of favorite aspects of using Joomla’s Tag system is the tags show up as separate search items in Google’s index. I noticed one day that the description in the search results isn’t what I would want it to be and wanted to change it. Here is an example of two different tags.

Nice long description that was pulled from the page it eventually links to.
This also links to a page but it doesn’t pull the description. You will also notice this tag is “55” and the other is “bitlocker”.

I was thinking it was because the tag was listed with a number instead of an alias; however, I found the “Bitlocker” tag that was indexed by the number; however, it shows the description I wanted.

This time the numbered tag is pulling the global configuration.

I would love to find a solution for this, so if anyone else knows feel free to comment.

I-Frame In Joomla

Had a customer who deleted an iFrame in a Joomla article. IFrames can be trouble-some in Joomla and the old JCE, but we have JCE Pro installed. I have sometimes switched the editor from JCE to NONE in the Global Configuration. This wasn’t the fix here. When I pasted the IFrame code into the article the iframe tag would be come “<i-frame”.

A Google search on “i-frame” and “Joomla” brought me to a page from RSJoomla. I had to remove some of the JavaScript protection on the post data. You can find this here (Components > RSFirewall! > Firewall Configuration > Active Scanner). It will look like this.

I hit the X so there were no protections other than being on. Here is a link to that article. They offer more suggestions, but only this one worked for me.

https://www.rsjoomla.com/support/documentation/rsfirewall-user-guide/frequently-asked-questions/scrambled-tags-iframe-becomes-i-frame.html?utm_source=readmoredoc&utm_medium=link&utm_campaign=rsfirewall-exception

I hope this helps someone else out there…

Moving Joomla Site To New Domain And SSL

Started to rebuild a customers site in Joomla but didn’t want to disturb the existing site we purchased a new CPanel Hosting package which gave us PHP 7. I got the site finished and approved but when I went to make the switch of the domain name to the desired name I noticed a dedicated IP in thehosting package. There were a lot of specific subdomains and uses for the such as a “Mail.mydomain.com”. This turned out to be for a SSL cert that was installed. Here are the steps it took and some of the pitfalls I ran into.

The SSL Certificate needed to be removed. In the “My Products” section of the Godaddy hosting scroll down to the SSL section. Click on “Mange”, but if you have more than one SSL make sure you end up in the correct one. I was ending up in the wrong one to fix it I would click on “All” in the upper left of the screen of the SSL Certificate’s detail page. I could then select the desired certificate and it allow me to “Rekey & Manage”.

Since the two hosting packages and domains were all with Godaddy it was easy to disassociate the SSL form the domain. I clicked on “Change the site that your certificate protects” and added a made up subdomain of “old.mydomain.com”, hit “save”, and then “Submit all Saved Changes”. I repeated this process to add it back to the new hosting package after the desired domain name was attached to the new hosting package with a sweet new site at the end of it.

Clicking the profile siloquette icon in the upper-right of the Godaddy dashboard and go to “My Products”. Select the old hosting to detach the domain name from the old hosting. This was an old package that listed “Hosted Domains” in the left-side menu. I clicked on that name ( I didn’t think was a hyperlink), and it brought me to a list of of a couple of domain names. I needed to wait almost a day for the SSL certificate to be disassociated with the domain. This was unusually long time to wait. It normally takes a few hours. I then clicked the checkbox next to the desired domain name and click “Change Primary”. I gave it a made up name of “old.mydomain.com” and clicked okay. Now to move the desired domain name to the new hosting package.

In Godaddy’s admin panel it seems fastest to use the icon the upper right and go to “my products” and this time select the new hosting package. In this new hosting page you will click on the “Change” button in the Account panel and select the desired domain. The last thing was go back the SSL certificate and change it to protect the desired domain again.

Overall an easy process; however, I run a WordPress blog as a subdomain and of course use perma-stinks. Once the main site was moved over the wordpress site broken in a couple of ways, and it was difficult to log into the admin panel. This was a quick fix by going into the database table “wp-options” and change the “siteurl” and the “home” to the new domain. I had a couple of other Joomla site as subdomains that came back up fine.

I hope this helps someone else out there…

Roksprocket 4 Column Grid In Gantry Hydrogen

While working a Joomla! site built with Gantry 5 Hyrdogen template I was having an issue when switching between different column quantities. If I had the columns set to 3 everything was fine; however, when I tried to switch between 3 to 4 columns everything was in one column.

I got around this issue by going into the basic CSS file. This file is located on root/components/com_roksprocket/layouts/grids/themes/basic/basic.css. On line 23 I changed the following:

.sprocket-grids-b-columns-3 > li {width: 33.333333333333336%;width: -webkit-calc(100% / 3);width: calc(100% / 3);}

to 

.sprocket-grids-b-columns-3 > li {width: 33.333333333333336%;width: -webkit-calc(100% / 4);width: calc(100% / 4);}

Once I knew this would work I added the CSS to my custom.css, and set the original “basic.css” back. My override was working fine.

I hope this helps someone else out there…

 

SEO In Joomla 3.X

I often start SEO from an existing website. Here are steps I always perform when starting the task.

  1. Start an Excel spreadsheet with 9 columns
    Page/article, Current URL, Current Title,Current Description, New URL, New Title, New Description, and Notes
  2. Then I go to Google and in the search box itself you type:   site:thedomain     Then hit enter.
    This will bring back the pages that Google has indexed. This will be critical to know so can later remove old URLs in Google’s Webmaster Tools, recrawl the site, and be up-to-date. This part can take a while so you have to consider this could double your time spent on the job, so be prepared to bill for it or you will be sorry.
  3. In Joomla you will need to set up the URL to be Search Engine Friendly. In the Administrator area go to Global Configuration >> Site >> Search Engine Friendly URLs ( turn this on), Use URL Rewriting ( turn this on). These changes will require you to change your htaccess.txt and change it to .htaccess. I don’t have it set to “yes” in my  image below, but turning on “Add Suffix to URL” will give the page the “.html” at the end.
  4. I prefer to do a lot of the rest in the menu item. The “Browser Page Title” and the “Alias” is where item #2 from the above image will show.
  5. Staying in the Menu item I move over to the “Metadata” section to add my “Description”. This is part #3 in the upper image.
  6. Here I would rework my Excel spread sheet my making sure my new titles are less than “54” characters long and the description is less that 134 characters long. The name of the page should include the service or search term you want to use for that page. I use Wordcounter.net to determine how many characters I have in my new titles and descriptions.
  7. Next go into Google Webmaster Tools and remove the old URL’s that you won’t need anymore. Click the “Temporary Hide” button, put in the URL, and Google will do the rest.
  8. I don’t always add Sitemaps, but here is where you can do this in Google’s Webmaster Tools.

I meet with NOVA JUG recently and the presenter Dorothy had a bunch to offer. Some of the plug-ins she mentioned.

She also really talked up this book by Simon.

This site for analysis of a website. https://en.ryte.com/

For a security update the group discussed changing a setting to not send the password to a user in plain text.

https://www.joomlashack.com/blog/joomla/passwords-emails/

I hope this helps someone else out there…

 

ChronoForms ChronoConnectivity 5 Example

The real benefit to Chronoforms is it is FREE.

I start with installing both ChronoForms and CronoConnectivity from Chronoengine. Go into Chronoforms and create a form. I started one here for customers. I wanted to keep their name, website, and password list. I started with a form called Customers.

After the designer elements of the form were finished  I did not go into set up yet. I went back to the “Forms Manager”, checked the “Customer” form and hit “Create table”. I ended up using the standard setting.

Now I go back into the form and add a couple of pieces to the “Setup” tab. In the “on load” section add “HTML (Render Form)” and “on submit” area add a “DB Save” from the Data Management elements.

You will now be saving the data to the database.

In ChronoConnectivity click “New” credential Manager. I am calling mine “customeredit”.  The Connection Name I called “customeredit”, and set published to “yes”.

Next click on “Models” and enter a new Model. I titled mine “customered” for customer edit. Use the dropdown to select the table where you stored the data from the form.

On the “Front List” tab Click on “Settings”. Select the display type as “Table”. The “Columns list” is the how the data is displayed when it is returned. The breakdown of the columns list is this:

customered.domain.DOMAIN = the model name . the database column name . the heading of the column ( you can make these up.)

The “Sortables” allows this column to be sortable once it is displayed.

On the “Actions” tab click “edit”. The form event will be the name of the form and the action. I called mine “CustomerEdit” and the action is “:load”. I don’t have this form created yet so we will do that next.

Before we leave this connection we need to set it permissions and that is to make the “view” allowed for the public so we can see it.

Go back to Chronoforms, check “Customer” our original form and hit the “Copy” button. Rename this copy “CustomerEdit”. This is what the the “Form event” is looking for.

Go into the form “CustomerEdit” and click on “Designer”

Click on the “Edit” button and set the “Field Name” and the “Field ID” for this “First Name” element to be “customered[firstname]”. This will tie the data coming over to this form together, so the firstname parameter will fill in the “firstname” field. Do the same with the rest of the elements. I also put a hidden field to collect the ID number.

Next go to the “Setup” tab. Add a “HTML (Render Form) element in the “On load” section. From the “External Apps” menu drag a “Connection Action”

Lastly add the name of the connection from ChronoConnectivity. I used the name “customeredit”. The Connection action is “save”.

You can create a menu item for the Form and the Connectivity View to see it all in action .

I will upload a zip file with the forms, connection, and database extract so you can use what I have working. It is easy to take my form and “Restore” it to your Chronoform and do the same thing with the Chrono Connection. The database table is easy to import a single table, and in my zip I have just the one table.

chronos_example_full

I am working on a Chronoform / Connectivitiy version 6 tutorial. Version 5 wasn’t easy to understand and version 6 is looking to be just as complicated. Version 6 does handle the database input better.

I hope this helps someone else out there…

 

Google Tag Manager In Gantry 5 Hydrogen

Was asked by a customers marketing company to add Google’s Tag Manager to their clients website. I wasn’t currently using Google’s Tag Manager, so I decided to look into and apply to my site running a Gantry 5 Hydrogen theme.

I tried just adding it in the “Settings” section of my template. The “before body” portion worked; however, the code for the head section was showing up on the page and not hidden.

A quick Google search lead me to this page where someone built an Atom to handle this.

https://translate.google.com/translate?hl=en&sl=fr&u=https://www.en-toutes-lettres.fr/services-web/joomla-news/358-google-tag-manager-sur-gantry5&prev=search

This Atom was awesome. I had to use it both the home and default. They suggest just putting in the base outline, but that didn’t work for me.

I hope this helps someone else out there….

 

Free Joomla Site And Hosting – Joomla.com

Got a great tip last night from the developer at BMoreCreative inc. He was having issues installing a Beta version of Joomla 4 for development purposes. Then he discovered Joomla.com not .org.

I decided to give it a try myself. It was super easy. I provided an email address and what I want the site to be called. Received an email with the activation link, created a password, and I had a “mysite.joomla.com” hosting, cpanel package ready for me in seconds.

It installed a 3.8 site but they provided me with a CPanel so I plan to upgrade to Joomla 4 to get ready for when it becomes the main distribution.

They also offer up a free Gantry based template called Cloud 3. I installed this since I do love Gantry. You can download it here.

https://www.cloudaccess.net/cloudbase-3.html

I hope this helps someone else out there….